使用PyQt5做了一个GUI程序,在ubuntu 18运行源码没有问题,但是打包以后报错
虽然在我的程序中没有显式的使用到PyQt5.sip,但是PyQt5.Qtcore 中会导入该模块
no module named pyqt5.sip
下面总结几种常用的解决方法
解决方式一
在程序中直接导入,再打包
import PyQt5.sip
此解决方式对我遇到的情况无效
解决方法二
在打包的时候指定该隐藏导入
pyinstaller --hidden-import PyQt5.sip main.py
或者修改spec文件
...
hiddenimports=['PyQt5.sip'],
...
此解决方式对我遇到的情况无效
解决方法三
通过pip重新卸载安装PyQt5和PyQt5.sip
此解决方式对我遇到的情况无效
最终解决方法(成功)
-
卸载PyQt5和PyQt5.sip -
通过源码来安装PyQt5和PyQt5.sip -
下载PyQt5.15.5.tar.gz以及sip-4.19.25.tar.gz -
进入解压以后的sip文件夹先编译sip sudo python3 configure.py --sip-module PyQt5.sip
sudo make
sudo make install
-
再编译PyQt5 sudo python3 configure.py
sudo make
sudo make install
我这里使用的只是单核编译,可能需要一段时间,设备内存大的可以开启多核编译更快。 安装完以后就不会出现pyqt5.sip找不到的问题了。
|