发生 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 错误(“无法获取”或“未找到服务器或发生错误”)?