pyinstaller 打包pyqt5 之报错 no module named pyqt5.sip

13 篇文章 0 订阅
8 篇文章 0 订阅

使用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

此解决方式对我遇到的情况无效

最终解决方法(成功)

  1. 卸载PyQt5和PyQt5.sip

  2. 通过源码来安装PyQt5和PyQt5.sip

  3. 下载PyQt5.15.5.tar.gz以及sip-4.19.25.tar.gz

  4. 进入解压以后的sip文件夹先编译sip

    sudo python3 configure.py --sip-module PyQt5.sip
    
    sudo make
    
    sudo make install 
    
  5. 再编译PyQt5

    sudo python3 configure.py
    
    sudo make
    
    sudo make install 
    

我这里使用的只是单核编译,可能需要一段时间,设备内存大的可以开启多核编译更快。
安装完以后就不会出现pyqt5.sip找不到的问题了。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值