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

本文介绍了解决Python项目中因eventlet模块缺失导致的ModuleNotFoundError的具体步骤,包括如何通过创建hook-eventlet.py文件来确保模块正确加载,以及处理类似问题的通用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错信息:

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,最终可以运行成功。

当出现ModuleNotFoundError: No module named 'dns'错误时,可以尝试以下方法来解决: 1. 首先,确认你已经正确安装了所需的包。检查是否已经安装了dnspython这个包。可以使用pip命令来安装:pip install dnspython。 2. 如果已经安装了dnspython,但仍然出现错误,可能是因为Python解释器无法找到该包。这时可以尝试重新安装或者更新该包。可以使用以下命令来重新安装:pip uninstall dnspython,然后再使用pip install dnspython来安装。 3. 如果以上方法仍然无法解决问题,可能是因为Python解释器的路径配置不正确。你可以尝试重新设置Python解释器的环境变量,确保解释器的路径正确配置。 4. 如果还是无法解决问题,你可以尝试在Python的虚拟环境中进行操作。在虚拟环境中,你可以单独配置和管理所需的包和依赖项,以避免与其他应用程序或包的冲突。 5. 最后,如果以上方法仍然没有解决问题,你可以考虑在社区或相关论坛上寻求帮助。其他开发者可能已经遇到并解决了相似的问题,可以提供更详细的建议和解决方案。 希望以上方法能够帮助你解决ModuleNotFoundError: No module named 'dns'错误。如果问题仍然存在,请提供更多的错误信息和上下文,以便我们提供进一步的帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [pyinstaller打包exe文件打开报错ModuleNotFoundError: No module namedeventlet.hubs.epolls](https://blog.csdn.net/m0_61523149/article/details/126901623)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [宝塔面板报错ModuleNotFoundError: No module named ‘psutil](https://blog.csdn.net/weixin_46767798/article/details/121738066)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值