pyinstaller库打包成exe文件打开后报错:ModuleNotFoundError: No module named ‘eventlet.hubs.epolls‘

报错信息:

ModuleNotFoundError: No module named 'eventlet.hubs.epolls'

【提示】如果exe文件打开后很快就闪退无法清楚报错信息,可以在cmd窗口打开该文件查看报错信息。

处理步骤:

第1步

在cmd窗口输入命令:pip show eventlet。

第2步

返回的信息中,Location即为该库所存储路径。

第3步

到该路径目录下,找到PyInstaller文件夹。

第4步

在PyInstaller文件夹中,找到hooks文件夹 。

第5步

hooks文件夹内新建一个名为hook-eventlet.py的文件,并在该文件中输入以下代码并保存。

from PyInstaller.utils.hooks import collect_all

datas, binaries, hiddenimports =collect_all('eventlet')

第6步

对目标.py文件重新打包。使用pyinstaller库打包方法可见以下链接。

pyinstaller -F ... : 使用pyinstaller模块将py程序文件打包exe文件

第7步

再次用cmd窗口运行新打包的exe文件。

第8步

若此时再次报错提示:ModuleNotFoundError: No module named 'dns'。则见第9步。

第9步

先在目标.py文件中输入:import dns

第10步

重复第1步至第7步的操作,注意要把出现eventlet的文件名及代码替换为dns,最终可以运行成功。

你可能感兴趣的:(python报错处理指南,python,开发语言,数据分析,数据挖掘,大数据)