发生 Pyinstaller 模块未找到错误。如何解决?

Posted

技术标签:

【中文标题】发生 Pyinstaller 模块未找到错误。如何解决?【英文标题】:Pyinstaller module not found error is occured. how to solve it? 【发布时间】:2021-03-03 08:37:09 【问题描述】:

我使用 PyQt5、cv2、PIL 等。

pyinstaller 运行后,exe 文件没有包含它们。

错误名称是“ModuleNotFoundError: No module named 'cv2'”。(还有 PyQt5、PIL...)

然后我将规范文件修复为“hiddenimports=['PyQt5', 'PIL']”,但它也不起作用。

我的python版本是3.7。(使用pycharm。) Pyinstaller 是 3.5、4.2、5.0dev

如何解决这个错误?

我只使用pycharm安装模块。

【问题讨论】:

【参考方案1】:

我认为这个错误符合规范文件覆盖的原因,在我们创建脚本的 exe 文件时添加隐藏导入作为参数,如下所示

pyinstaller project/script.py --hidden-import=PyQt5

【讨论】:

我已经用过了。在spec文件和pycharm中。 我之前遇到过这个问题,我的系统中安装了 virtualenv 和独立 python,我使用 virtualenv 配置和运行我的项目,但是 pyinstaller 使用独立 python,一些包没有安装在那里。在独立 python 上安装必要的包对我有用 所以,如果我通过“pip3 install pyqt5”在 shell(而不是 pycharm)中安装 pyqt5,那么可以吗?我没有使用 vertualenv。 如果这也是你的问题,你必须检查 python 版本和安装的包,然后检查 pyinstaller 使用了哪个 python 版本。通常,此问题的原因是在您的 python 中卸载了必要的软件包。我希望我的建议对你有用:)

以上是关于发生 Pyinstaller 模块未找到错误。如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

您如何解决“未找到隐藏的导入!” pyinstaller 中针对 scipy 的警告?

未找到模块:错误:无法解析“/app”中的“@angular/flex-layout”

从 Swagger Editor 发出请求时,如何避免 CORS 错误(“无法获取”或“未找到服务器或发生错误”)?

如何修复 Next.js Vercel 部署模块未找到错误

如何使用 pyinstaller 使用 torch 模块制作 exe 文件?

未找到模块:错误无法解析“child_process”,如何解决?