如果我使用.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),它仍然给我错误
答案 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可以正常工作!