PyInstaller(与pip一起安装的PyQt5)总是给我错误导入PyQt5.sip

时间:2018-07-13 17:24:40

标签: python pyqt pyqt5 sip pyinstaller

如果我使用.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

2 个答案:

答案 0 :(得分:2)

我通过在pyinstaller参数PyQt5.sip中添加--hidden-import来解决它:pyinstaller filename.py --hidden-import=PyQt5.sip

答案 1 :(得分:0)

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