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

2023-11-12

使用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找不到的问题了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pyinstaller 打包pyqt5 之报错 no module named pyqt5.sip 的相关文章

  • arm-linux-gnueabi 编译器选项

    我在用 ARM Linux gnueabi gcc在 Linux 中为 ARM 处理器编译 C 程序 但是 我不确定它编译的默认 ARM 模式是什么 例如 对于 C 代码 test c unsigned int main return 0x
  • Perl 是否有相当于 Python 的 `if __name__ == '__main__'` 的功能?

    有没有一种方法可以确定当前文件是否是 Perl 源中正在执行的文件 在 Python 中 我们使用以下结构来做到这一点 if name main This file is being executed raise NotImplemente
  • 将一维数组转换为下三角矩阵

    我想将一维数组转换为较低的零对角矩阵 同时保留所有数字 我知道numpy tril函数 但它用零替换了一些元素 我需要扩展矩阵以包含所有原始数字 例如 10 20 40 46 33 14 12 46 52 30 59 18 11 22 30
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • 如何使用 PyMongo 在重复键错误后继续插入

    如果我需要在 MongoDB 中插入尚不存在的文档 db stock update one document set document upsert True 将完成这项工作 如果我错了 请随时纠正我 但是 如果我有一个文档列表并想将它们全
  • 如何获取 QTableView 的标题列表?

    我有一个QTableView我的对话框中的对象 我需要访问该表的水平标题并将它们放入QStringList object 尽管进行了大量搜索 但我在 Qt 文档中找不到如何获取此标头列表 编辑 我发现的最接近的地方是this https w
  • 如何在 QTabWidget Qt 中展开选项卡

    我有一个QTabWidget像这个 但我想展开选项卡以 填充 整个小部件宽度 如下所示 我怎样才能做到这一点 我在用Qt 5 3 2 and Qt 创建者 3 2 1 Update 我尝试使用setExpanding功能 ui gt myT
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • 返回上个月的日期时间对象

    如果 timedelta 在它的构造函数中有一个月份参数就好了 那么最简单的方法是什么 EDIT 正如下面指出的那样 我并没有认真考虑这一点 我真正想要的是上个月的任何一天 因为最终我只会获取年份和月份 因此 给定一个日期时间对象 返回的最
  • Python 3在for循环中更改字典键的值不起作用

    我的 python 3 代码没有按预期工作 def addFunc x y print x y def subABC x y z print x y z def doublePower base exp print 2 base exp d
  • 如何正确导入主代码和模块中同时使用的模块?

    假设我有一个主脚本 main py 它导入另一个 python 文件import coolfunctions另一个 import chores 现在 假设 Coolfunctions 也使用家务活中的东西 因此我声明import chore
  • 线性同余生成器 - 如何选择种子和统计检验

    我需要做一个线性同余生成器 它将成功通过所选的统计测试 我的问题是 如何正确选择发电机的数字以及 我应该选择哪些统计检验 我想 均匀性的卡方频率测试 每代收集10 000个号码的方法 将 0 1 细分为10个相等的细分 柯尔莫哥洛夫 斯米尔
  • 计算 pyspark df 列中子字符串列表的出现次数

    我想计算子字符串列表的出现次数 并根据 pyspark df 中包含长字符串的列创建一个列 Input ID History 1 USA UK IND DEN MAL SWE AUS 2 USA UK PAK NOR 3 NOR NZE 4
  • 如何使用 os.chdir 转到减去最后一步的路径?

    例如 一个方法传递了一个路径作为参数 这个路径可能是 C a b c d 如果我想使用 os chdir 更改为 C a b 怎么办 c 没有最后一个文件夹 os chdir 可以接受 命令吗 os chdir 可以采取 作为论点 是的 然
  • Python:无法使用 os.system() 打开文件

    我正在编写一个使用该应用程序的 Python 脚本pdftk http www pdflabs com tools pdftk the pdf toolkit 几次来执行某些操作 例如 我可以在 Windows 命令行 shell 中使用
  • 沿轴 0 重复 scipy csr 稀疏矩阵

    我想重复 scipy csr 稀疏矩阵的行 但是当我尝试调用 numpy 的重复方法时 它只是将稀疏矩阵视为对象 并且只会将其作为 ndarray 中的对象重复 我浏览了文档 但找不到任何实用程序来重复 scipy csr 稀疏矩阵的行 我
  • Streamlabs API 405 响应代码

    我正在尝试使用Streamlabs API https dev streamlabs com Streamlabs API 使用 Oauth2 来创建应用程序 因此 首先我将使用我的应用程序的用户发送到一个授权链接 其中包含我的应用程序的客
  • 如何使用 Pandas Series 绘制两个不同长度/开始日期的时间序列?

    我正在绘制 每周总事件 的几个熊猫系列对象 系列中的数据events per week看起来像这样 Datetime 1995 10 09 45 1995 10 16 63 1995 10 23 83 1995 10 30 91 1995
  • 如何从 nltk 下载器中删除数据/模型?

    我在 python3 NLTK 中安装了一些 NLTK 包 通过nltk download 尝试过它们 但不需要它们 现在想删除它们 我怎样才能删除例如包large grammars来自我的 NLTK 安装 我不想删除完整的 NLTK 安装
  • 在python中对列表列表执行行总和和列总和

    我想用python计算矩阵的行和和列和 但是 由于信息安全要求 我无法使用任何外部库 因此 为了创建矩阵 我使用了列表列表 如下所示 matrix 0 for x in range 5 for y in range 5 for pos in

随机推荐

  • chromium源码编译android平台动态库

    chromium源码编译 参考博客 https www jianshu com p 5fce18cbe016 拜祭一下祖先和各路神仙 还有上帝 毕竟代码是在他的地盘 一定一定要保证网路是通畅的 不能出现中断 环境配置 本身编译环境Ubunt
  • 基于PLL锁相环的FPGA内核IP的使用以及配置笔记

    基于PLL锁相环的FPGA内核IP的使用以及配置笔记 IP核作为FPGA快速开发的法宝 简单理解就是将常用的且比较复杂的功能模块设计成参数可修改的电路功能模块 在quartus 最新版 tool IP Catalog中有许多的IP内核可以供
  • textarea kindeditor高度自适应

  • 软件工程毕业设计选题100例(八)

    文章目录 前言 题目1 基于SSM的在线教学视频点播系统 br 题目2 基于SSM的考研信息查询系统 br 题目3 基于SSM与垃圾分类的信息管理系统 br 题目4 基于SSM的留学生交流平台系统 br 题目5 基于SSM的企业销售培训系统
  • Cookie、Session、Token、JWT 之间的区别

    一 前言 认证 Authentication 通俗地讲就是验证当前用户的身份 互联网中的认证 用户名密码登录 邮箱发送登录链接 手机号接收验证码 只要你能收到邮箱 验证码 就默认你是账号的主人 授权 Authorization 用户授予第三
  • 人工智能基础教育范围

    当前世界文明正处于从网络时代迈向智慧时代的转型过程中 人工智能对我们的生产 生活 学习方式的影响日渐深入 格物斯坦表示即便是行业人士 也是看得眼花缭乱 未来 谁主宰人工智能的核心 谁将引领时代的潮流 要培养智能时代的合格公民 人工智能教育普
  • vue+element ui +axios点击列表页列表跳转指定id详情页并进行数据渲染(纯前端)

    目录 一 思路 二 实现 一 思路 在列表页获取到所点击的list的id后 将这个id与路由绑定起来 进行跳转 渲染 不过这个方法有个bug 就是当列表使用的不是
  • 如何修改linux的MAC地址

    步骤如下 但不唯一 1 临时性的修改 依次输入以下命令 sbin ifconfig eth0 down sbin ifconfig eth0 hw ether 00 0C 29 36 97 20 sbin ifconfig eth0 up
  • 今夜喜雨

    雨夜 用了两个小时的时间终于推导了直线三角化的公式 直线三角化 是的 即通过两帧的匹配直线得到空间直线的端点 如果端点严格匹配那么就是点的三角化 你可以从 SLAM十四讲 一书或者其他的博客很容易知道怎么做 但是直线的端点往往不是严格对齐的
  • 最跌宕也最精彩, Poly Network开启加密世界新征程

    毫无疑问 未来跨链协议在整个加密生态系统中的角色将会越来越重要 但同时 一旦出现问题影响范围也相对较大 因此必须要把防范黑客恶意入侵放在首位 并且持续做好必要的安全防护措施 与此同时 安全工作也要成为常态 比如定期进行安全测试 演练 做到未
  • 史上最全的Linux常用命令汇总(超全面!超详细!)收藏这一篇就够了!

    在学习Linux时 会发现Linux的命令非常多而且还有很多参数 让人很是苦恼 就想着有没有一篇文章可以整理出来常用的命令 尽管网上有很多文章 但是总会有点问题 整理的文章非常详细但是没有目录 不能直接跳转到相关的位置 那么今天博主就带来了
  • Ubuntu的几个初始化文件

    转载自 url http kimva blogbus com logs 19989279 html url 1 etc profile 全局 公有 配置 不管是哪个用户 登录时都会读取该文件 2 ect bashrc Ubuntu没有此文件
  • 官方力推!学习Python必备的8本书

    在过去一年里 Python的热度一路飙升 国内越来越多的人选择学习Python 如今已然成为大量开发者推荐的入门编程语言和第二编程语言 而且Python还是人工智能的主要编程语言 因此 其重要性和流行度也就不言而喻了 想要学好Python语
  • 计时函数(基本知识)

    计时函数的运用 在算法题提交的时候 系统经常会给你一个TLE 这提醒我们要优化算法 但我们如何优化算法这是一个问题 我们可以运用计时函数 大概统计一下代码在最糟糕的情况下的运行时间 可以大概得出优化方向 当然这里只是大概 当超时时间过多时
  • slf4j 如何启动logback,log4j源码分析

    历史 知道java 日志框架的 应该知道log4j logback slf4j竟然是一个作者写的 我的天 为啥要写三个 这个可以去看看相关的文章 今天讨论的门面slf4j是如何驱动logback和log4j的 入口 一般日志的开启都是在这里
  • FreeRTOS 源码注释(prvCheckTasksWaitingTermination)

    FreeRTOS 中删除任务是分两步的 第一步 vTaskDelete 将其从各个工作链表中断开 放到xTasksWaitingTermination 链表中 第二步 Idle Task 调用这个函数真正的删除任务 代码很简单 不需要注释了
  • 算法、设计模式和原则

    面试总结 目录 1 设计模式 2 面向对象设计 OOD 原则 开放关闭原则 Open Closed Principle 里氏替代原则 Liskov Substitution Principle 接口隔离原则 Interface Segreg
  • PCL 逐点插入法构建Delaunay三角网(C++详细过程版)

    目录 一 逐点插入算法 二 代码实现 三 结果展示 四 测试数据 Delaunay三角剖分分为直接三角剖分和间接三角剖分 间接三角剖分首先计算为Voronoi图 然后由Voronoi图产生Delaunay三角网 这种方法的算法复杂 内存开销
  • quantopian寻找策略之mean_reversion

    股价有向均线回归的趋势 利用这个特点 可以在技术指标处于超卖阶段寻找那些上涨速度快的流通性好的股票买入 形成下面的策略 策略来源quantopian 对于市场上流通性最好的1500只股票在pipeline中先进行一波过滤 1 年收益率排名前
  • pyinstaller 打包pyqt5 之报错 no module named pyqt5.sip

    使用PyQt5做了一个GUI程序 在ubuntu 18运行源码没有问题 但是打包以后报错 虽然在我的程序中没有显式的使用到PyQt5 sip 但是PyQt5 Qtcore中会导入该模块 no module named pyqt5 sip 下