报错信息:
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库打包方法可见以下链接。
第7步
再次用cmd窗口运行新打包的exe文件。
第8步
若此时再次报错提示:ModuleNotFoundError: No module named 'dns'。则见第9步。
第9步
先在目标.py文件中输入:import dns。
第10步
重复第1步至第7步的操作,注意要把出现eventlet的文件名及代码替换为dns,最终可以运行成功。