pyinstaller打包python3.6和PyQt5中各种错误的解决方案汇总
作者:thinson 发布时间:2021-01-13 18:58:48
前言:
最近在学习单片机,老师要求自己写串口通信的上位机程序,我采用比较简单的pyqt5+serial模块来完成任务,pycharm测试一切正常,在用pyinstaller打包时出现了很多错误,查询了很多资料后得到了解决,这里汇总一下解决的方法
1. WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency
2999 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\python\python.exe
3031 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\python\python.exe
3218 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\python\VCRUNTIME140.dll
3312 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\python\VCRUNTIME140.dll
6494 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\python\DLLs_hashlib.pyd
7271 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\python\DLLs\unicodedata.pyd
类似于这种情况就是在python目录下缺少相关的ddl文件,而自己的anocoda目录下是有这些文件的,我的解决办法是把anaconda目录下的文件直接复制到python的目录下,问题就得到了解决。
考虑到可能有的人没有下载anaconda,这里我把文件打包下来,大家自取。
点击这里下载
2. 打包完成后运行时出现 "fail to excute script"
这里是不容易发现问题的,造成这种问题的原因很多。
在使用PyInstaller打包python程序,打包命令为:
pyinstaller -F -w -i manage.ico yourpyfile.py
顺便说一下几个参数的作用
-F:是直接生成单独的exe文件,不附带各种依赖文件的。
- -c:生成的exe文件打开方式为控制台打开。
-w:这个和上面的-c对应,如果你的程序是有ui的,那就用这个-w。这样不会出现控制台,直接是你的ui。
-I:给你的exe文件添加一个图标,后面要紧接着你想要的ico文件。
-p:后面紧跟着你要指定的模块搜索路径,如果你的模块安装的路径没有被PyInstaller自动检索到的话,就需要自己指定了。
出现“failed to excute script xxx”
这个原因实在是太多了,他就是告诉你程序不能运行。如果你是用-w方式打包的,我们这样不能看出来问题的根源是什么。所以我们还是以-c方式打包exe看一下控制台输出的error内容是什么。
cmd下运行打包出来的exe
给我报的错误是:no modle named "PyQt5.sip"
其实tensorflow这个包我已经导入了,而且可以被PyInstaller搜索到。只是它提示我的tensorflow.contirb这个搜索不到,
我猜是版本问题?因为我的tensorflow更新过,最新版的去掉了好多东西,也有一些模块改了实现方式和名称。‘
真正的原因我还没找,但是就先这样吧,因为我想赶紧把问题解决了。
那就:
pyinstaller -F -I manage.ico yourpyfile.py --hidden-import PyQt5.sip
这样打包,直接把它想要import的这个子包屏蔽掉了,反正也没用到。
到这里所有的问题都得到了解决!
来源:https://www.jianshu.com/p/809b4ca6bff5


猜你喜欢
- 一、背景Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和
- 本文实例分析了Go语言中的指针运算方法。分享给大家供大家参考。具体分析如下:Go语言的语法上是不支持指针运算的,所有指针都在可控的一个范围内
- JS怎样知道Flash广告条被网友点击过? 1、Flash广告条不是我做的,它的链接是写在里面的。 2、我想统计这个Flash被网友点击了多
- 分支结构的应用场景迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种结构的代码我们称之为顺序结构。然而仅有顺序结构并不能解决所
- 使用Python绘制正态分布曲线,借助matplotlib绘图工具;#-*-coding:utf-8-*-"""
- 标题:按某字段合并字符串之一(简单合并)描述:将如下形式的数据按id字段合并value字段。id val
- GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利
- 导读演示了使用PyTorch最近发布的新工具torchserve来进行PyTorch模型的部署。最近,PyTorch推出了名为torchse
- --新增表字段 ALTER procedure [dbo].[sp_Web_TableFiled_Insert] ( @TableName
- 通过变量ID得到变量的值已知获得变量的id用函数id(),那么它的反函数是什么?答案是:PyObj_FromPtr,据此,写了一个函数di(
- 起因看到网上的像素图片,感觉蛮有趣的,就打算用python一些PIL类库写一个。实现思路把一张图片分成多个块,每个块的颜色都等于这个色块中颜
- What? 什么是面包屑面包屑是作为辅助和补充的导航方式(secondary navigation scheme),它能让用户知道在网站或应
- 列表生成式语法:[x*x for x in range(0,10)] //列表生成式,这里是中括号//结果 [0, 1, 4, 9, 16,
- 在项目中遇到后台数据还没有加载完毕,但是页面上调用了后台数据中的字段,这样就会报undefined。例如:一进入页面直接回显数据。我在cre
- 这个代码不是很完善,能实现基本的功能;另外有个问题,就是divOpenWin层的定位问题:发现如果其属性设置成display:none,那么
- 一、 简介TensorFlow是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(ma
- 首先此问题来自向这个帖子http://hi.baidu.com/fire_love_live/item/247276cfda421217b6
- 本文实例讲述了C#实现远程连接ORACLE数据库的方法。分享给大家供大家参考。具体分析如下:使用该方法,只需要传入几个必要的参数就可以进行数
- Python下载Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到:Python官网:http://www.pyth
- 通常来说,一个Python程序可以从键盘读取输入,也可以从文件读取输入;而程序的结果可以输出到屏幕上,也可以保存到文件中便于以后使用。本文就