1、安装

pip install pyinstaller

2、常规操作

在cmd界面(之前安装python或者anaconda的时候正确添加环境变量的话,是可以在cmd界面直接执行pyinstaller的)

pyintaller [选项] py文件路径

选项:

-F 生成单个可执行文件,而不是生成一个文件夹,里面都是dll文件

-w 去掉控制台窗口,如果是自己写的GUI程序,一般都要用这个,但如果是命令行程序,千万别用这个呀。

-p 你自己自定义需要加载的类路径,如果正确添加环境变量的话,这个是不需要的。

-i 指定可执行文件的图标,后面跟ico文件的路径即可

示例:

pyinstaller -F a.py

3、坑1

Cannot find existing PyQt5 plugin directories 
Paths checked: C:/Users/ray/qtb-3.5-64/_b_env/Library/plugins

这个。。。原因我是感觉很迷。

受到大佬启发:https://blog.csdn.net/weixin_43116379/article/details/82316163

将pyqt5.dll和pyqt5qmlplugin.dll复制到报错的路径。虽然很迷为什么,但是确实解决了问题。(用资源管理器自带的搜索功能搜这两个文件)

4、坑2

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 110: invalid continuation byte

这个还是因为C语言(一般Python的底层是C)对中文的支持不太好。有些汉字无法正常编码。

受到大佬启发 https://blog.csdn.net/qq_41185868/article/details/80599390

1、删除所有中文注释

  (程序里面的中文可以不删,亲测用下面的方法可以正常生成exe文件)

2、先在cmd界面中输入 chcp 65001,将控制台编码改成‘utf-8’,再直接使用pyinstaller -F a.py打包即可。

亲测可用,感谢大佬!

最终正常生成了exe文件,并且能正常运行。

不过在这我要吐槽。用了pandas,requests,re这些模块之后。。。生成的exe文件竟然这么大。据说它是把所有库都编译了一遍加到exe文件里了。

所以以后开发,能值引入函数的就只引入函数,尽量不要把整个库都引入。

python——pyinstaller生成exe基本使用和遇到的坑的更多相关文章

  1. 小白学Python(19): Pyinstaller 生成 exe 文件

    python 默认并不包含 PyInstaller 模块,因此需要自行安装 PyInstaller 模块. 安装 PyInstaller 模块与安装其他 Python 模块一样,使用 pip 命令安装 ...

  2. python脚本生成exe程序

    去年十一月换了新公司后,一直没闲着,马不停蹄地接不同的需求,一个版本一个版本的迭代,也没时间研究python了.十一休假归来,某日,老婆问金融量化需要学python吗?并分享了一个公众号文章,内容是吹 ...

  3. pyinstaller将python脚本生成exe

    一.下载pyinstaller 二.生成exe 下载pyinstaller 1.在C:\python27\Scripts目录下打开cmd界面,执行命令:pip install PyInstaller ...

  4. pyinstaller生成exe文件失败

    我的python是3.6,目前pyinstaller并不支持,有网友建议在Github上下载源码,用pyinstaller_develop文件夹替换pyinstaller安装位置下同名文件夹.这样做之 ...

  5. python3 pyinstaller生成exe文件过程问题解决记录

    1.使用pip安装pyinstaller 2.在cmd打开需生成可执行文件的python文件所在文件夹 3.使用命令pyinstaller -F -w **.py (代码中有import其他模块的,只 ...

  6. Python: pyinstaller打包exe(含file version信息)

    最近项目上一直都是用Spyder直接运行.py文件的方式来执行每日的自动化程序,每天都要手动去点击Run来执行一次,所以考虑把.py文件直接打包成exe,然后用windows的task schedul ...

  7. 利用pyinstaller生成exe文件碰到的一些问题及解决方法

    在“开源图像标注工具labelme的安装使用及汉化”这篇博客中,使用pyinstaller将labelme项目的入口python文件main.py打包,生成了main.exe文件,可以在Windows ...

  8. python脚本生成exe可执行文件

    1.先安装第三方插件: py2exe. Get py2exe from http://www.py2exe.org/ 在download里下载与自己python对应的版本 2.写一个测试python文 ...

  9. 利用pyinstaller生成exe之后,运行不能正常产生结果文件问题记录

    https://segmentfault.com/q/1010000011284617/a-1020000011493026 在此链接已解决问题,现在在这里在详细记录一次 问题描述: 利用pychar ...

随机推荐

  1. Javascript文件中的控制器II

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  2. papers-06-07

    A simple neural network module for relational reasoning Visual Interaction Networks 今天被这两篇文章的工作刷屏,说实 ...

  3. 新疆大学ACM-ICPC程序设计竞赛五月月赛(同步赛)-B-杨老师游戏

    题目链接:杨老师游戏 题目分析:将9个数字分成3块,分块枚举,话句话说,9个数字的所有排列组合,如果满足N=a*b-c就是一个答案,暴力枚举Orz. 代码如下:  #include<iostre ...

  4. BZOJ2580: [Usaco2012 Jan]Video Game(AC自动机)

    Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 159  Solved: 110[Submit][Status][Discuss] Descriptio ...

  5. linux tail + head 查看指定行

    取出一段数据后,需要获取指定行 file # 前10行 file # 不要最后10行的前面所有行 file # 后10行 file # 不要前面10行的后面所有行 | # 不要前后10行剩余的所有行

  6. 修改pytorch官方实例适用于自己的二分类迁移学习项目

    本demo从pytorch官方的迁移学习示例修改而来,增加了以下功能: 根据AUC来迭代最优参数: 五折交叉验证: 输出验证集错误分类图片: 输出分类报告并保存AUC结果图片. import os i ...

  7. phpstudy配置域名后apache无法启动

    1.设置域名后重启 apache停止了 检查步骤1.php路径不要有中文,phpstudy重新安装在无中文路径 2.检查80端口是否被占用,如果被占用可以停止该程序或者修改apache/nginx 端 ...

  8. php sign签名实例

    1:实现签名代码: /** * 签名生成算法 * @param array $params API调用的请求参数集合的关联数组,不包含sign参数 * @param string $secret 签名 ...

  9. php PHPEXcel导出

    1获取数据,2组装数据,3生成文件. 注意:无法使用ajax生成导出. $settlement = \Yii::$app->request->get('settlement'); $sav ...

  10. python3 练习题100例 (二十七)列表元素改写

    题目内容: 输入一个列表alist,要求列表中的每个元素都为正整数且不超过10: 将列表中的奇数变为它的平方,偶数除以2后打印新的列表(新的列表中所有元素仍都为整数). 可以使用以下实现列表alist ...