【问题标题】:PyInstaller (PyQt5 installed with pip) always gives me error import PyQt5.sipPyInstaller(PyQt5 与 pip 一起安装)总是给我错误 import PyQt5.sip
【发布时间】:2018-12-22 03:06:24
【问题描述】:

如果我使用 .exe 安装程序安装 PyQt5 (Python 3.5.4) - 它在 PyInstaller 中运行良好。如果我使用pip3 install pyqt5 安装 PyQt5 (Python 3.5.4) - 它会在 PyInstaller 中出现错误:

C:\Users\User\Desktop\dist\mycommentator>mycommentator.exe
Traceback (most recent call last):
  File "mycommentator.py", line 6, in <module>
  File "c:\users\user\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module
    module = loader.load_module(fullname)
ModuleNotFoundError: No module named 'PyQt5.sip'
[1532] Failed to execute script mycommentator

每个 Python 版本都会发生这种情况。我试过:Python 3.5.4、Python 3.6.4、Python 3.6.5,没有人成功。无论我使用 PyInstaller 构建什么代码,我都尝试构建 Hello World PyQt5。我试图安装 PyInstaller 的开发者版本。我还尝试将 sip.pyd 移动到项目文件夹。我还尝试添加--hidden-import=sip,pyqt5-sip。

我就是想知道是不是和系统有关,我会重装windows修复一下。 我什至在虚拟机上运行了一个清晰的 windows 7,安装了 python 3.6.4,安装了 pyqt5 和 pyinstaller (pip),它仍然给我错误

Error

【问题讨论】:

    标签: python pyqt pyqt5 pyinstaller


    【解决方案1】:

    我通过将PyQt5.sip 添加到pyinstaller 参数--hidden-import 来修复它:pyinstaller filename.py --hidden-import=PyQt5.sip

    【讨论】:

    • Pyinstaller 的版本是多少? 3.4?我遇到了类似的问题,添加隐藏导入并不能解决它。
    【解决方案2】:

    我为这个问题苦苦挣扎了好几个小时。我终于按照 pyinstaller 文档页面上的说明让它工作了。只需使用 pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip 即可安装最新的 git 版本。 安装此版本后,我仍然收到 sip 警告,但 --onefile --noconsole --windowed app.py 有效!

    【讨论】:

      猜你喜欢
      • 2022-06-17
      • 2018-12-08
      • 2016-03-02
      • 1970-01-01
      • 2018-12-21
      • 2022-01-26
      • 2016-04-22
      • 2019-10-18
      相关资源
      最近更新 更多