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
猜你喜欢
- 故障状况:php网站连接mysql失败,但在命令行下通过mysql命令可登录并正常操作。解决方案:1、命令行下登录mysql,执行以下命令:
- 多个Python版本:在同一台机器上安装不同的Python,例如2.7和3.4。虚拟环境:独立的环境,既可以同时安装特定版本的Python,
- python配置文件有.conf,.ini,.txt等多种python集成的 标准库的 ConfigParser 模块提供一套 API 来读
- 背景学习 Python 的话,仅掌握标准库是远不够的,有很多好用的第三方库我们也需要用到的,比如,由鼎鼎大名的 K 神开发的爬虫必不可少的
- 如何正确理解MIME类型?mime联系介绍。序号内容类型文件扩展名描述1application/msworddocMicrosoft Wor
- 想要一个这玩意,可是找了网上许多着色器,要么是兼容性成问题,要么是匹配不精确,比如说:1、注释里包含字符串、关键词,类似于:/* xxxx&
- 当你的查询相对简单的时候,每次从头开始创建SQL语句也不费什么工夫,不过,复杂的查询就不同了,每次都从头来会产生很多开发错误。因此,一旦让S
- 两行JavaScript代码的QQ窗口抖动效果<img id="win" style='pos
- 最近在做一个游戏数据统计后台,最基础的功能是通过分析注册登录日志来展示用户数据。在公司内部测试,用户量很少,所以就没有发现什么性能问题。但是
- 1、矩阵加法使用a = np.random.random((3,3))b = np.random.randint(0,9,(3,3))ad
- with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能(2.5 版本中要通过 from __future__ impo
- 简介这篇宏哥就带着小伙伴们分享一下如何连接模拟器(电脑版的虚拟手机),然后再安装一款APP-淘宝为例。一、appium+pycharm+连接
- 一 计算公式:二 实现代码(1)import mathfrom tqdm import tqdmimport timetotal,s,n,t
- 说实在的个人对游戏并没有多大的兴趣,但唯独对暴雪的Diablo系列很有感情,去年年初开始玩Diablo3,断断续续,感觉最麻烦的是选择技能,
- whoosh的官方介绍:http://whoosh.readthedocs.io/en/latest/quickstart.html因为做的
- Symfony是一个强大的基于PHP的Web开发框架,在这里我们用十分钟的时间来做一个简单的增删改查的程序, 任何不熟悉Symfony的人都
- 基于requests模块发起ajax的get请求需求:爬取豆瓣电影分类排行榜 https://movie.douban.com/中的电影详情
- 本文实例讲述了thinkphp的URL路由规则与配置方法。分享给大家供大家参考。具体分析如下:一、URL规则1、默认是区分大小写的2、如果我
- python代码如下:import webbrowser as wbimport foliumif __name__ == '__m
- # -*- coding: cp936 -*-from scapy.all import *from threading import Th