python——pyinstaller生成exe基本使用和遇到的坑
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基本使用和遇到的坑的更多相关文章
- 小白学Python(19): Pyinstaller 生成 exe 文件
python 默认并不包含 PyInstaller 模块,因此需要自行安装 PyInstaller 模块. 安装 PyInstaller 模块与安装其他 Python 模块一样,使用 pip 命令安装 ...
- python脚本生成exe程序
去年十一月换了新公司后,一直没闲着,马不停蹄地接不同的需求,一个版本一个版本的迭代,也没时间研究python了.十一休假归来,某日,老婆问金融量化需要学python吗?并分享了一个公众号文章,内容是吹 ...
- pyinstaller将python脚本生成exe
一.下载pyinstaller 二.生成exe 下载pyinstaller 1.在C:\python27\Scripts目录下打开cmd界面,执行命令:pip install PyInstaller ...
- pyinstaller生成exe文件失败
我的python是3.6,目前pyinstaller并不支持,有网友建议在Github上下载源码,用pyinstaller_develop文件夹替换pyinstaller安装位置下同名文件夹.这样做之 ...
- python3 pyinstaller生成exe文件过程问题解决记录
1.使用pip安装pyinstaller 2.在cmd打开需生成可执行文件的python文件所在文件夹 3.使用命令pyinstaller -F -w **.py (代码中有import其他模块的,只 ...
- Python: pyinstaller打包exe(含file version信息)
最近项目上一直都是用Spyder直接运行.py文件的方式来执行每日的自动化程序,每天都要手动去点击Run来执行一次,所以考虑把.py文件直接打包成exe,然后用windows的task schedul ...
- 利用pyinstaller生成exe文件碰到的一些问题及解决方法
在“开源图像标注工具labelme的安装使用及汉化”这篇博客中,使用pyinstaller将labelme项目的入口python文件main.py打包,生成了main.exe文件,可以在Windows ...
- python脚本生成exe可执行文件
1.先安装第三方插件: py2exe. Get py2exe from http://www.py2exe.org/ 在download里下载与自己python对应的版本 2.写一个测试python文 ...
- 利用pyinstaller生成exe之后,运行不能正常产生结果文件问题记录
https://segmentfault.com/q/1010000011284617/a-1020000011493026 在此链接已解决问题,现在在这里在详细记录一次 问题描述: 利用pychar ...
随机推荐
- 'version' contains an expression but should be a constant. @ line 13, column 11问题的解决
<modelVersion>4.0.0</modelVersion> <groupId>cy.nad.cyg</groupId> <artifac ...
- Vue+Electron实现简单桌面应用
之前一直使用C#编写桌面应用,也顺带写一些Web端应用.最近在看node时发现常用的vscode是用electron编写的,一种想吃螃蟹的念头就涌了上来. 在网上找了找electron的资料,也研究了 ...
- chromium之tracked_objects
// For each thread, we have a ThreadData that stores all tracking info generated // on this thread. ...
- oracle优化-leading提示和ordered提示以及materialize提示
以下内容适用于oracle 10.2.0.5及其以上版本 一个查询很慢,原始SQL如下: select a.* from (select ssi.ID, 'small_station_info' TB ...
- Percona-Tookit工具包之pt-kill
Preface Sometimes,we are determined to kill some MySQL connections which are occupying huge ...
- Percona-Toolkit工具包之pt-archiver
Preface There's a common case that we neet to archive amount of records in some tables to a ...
- linux运维、架构之路-shell编程(一)
一.shell编程入门必备基础 1.vim编辑器的命令,vimrc设置 2.150个linux基础命令 3.linux中基础的系统服务crond,ssh网络服务,nfs,rsync,inotify,l ...
- python的元组数据类型及常用操作
Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 = ('physi ...
- 【Linux】Nginx无法加载.woff .eot .svg .ttf问题解决
只需要修改Nginx的vhosts.ini,加上以下代码即可修复该问题 location ~ \.(eot|otf|ttf|woff|woff2|svg)$ { add_header Access-C ...
- MySQL 清除表空间碎片
碎片产生的原因 (1)表的存储会出现碎片化,每当删除了一行内容,该段空间就会变为空白.被留空,而在一段时间内的大量删除操作,会使这种留空的空间变得比存储列表内容所使用的空间更大; (2)当执行插入操作 ...