python——pyinstaller生成exe基本使用和遇到的坑

一、安装python

pip install pyinstaller

二、常规操做函数

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

pyintaller [选项] py文件路径spa

选项:.net

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

-w 去掉控制台窗口,若是是本身写的GUI程序,通常都要用这个,但若是是命令行程序,千万别用这个呀。code

-p 你本身自定义须要加载的类路径,若是正确添加环境变量的话,这个是不须要的。blog

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

示例:utf-8

pyinstaller -F a.py

三、坑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复制到报错的路径。虽然很迷为何,可是确实解决了问题。(用资源管理器自带的搜索功能搜这两个文件)

 

 四、坑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

一、删除全部中文注释

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

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

亲测可用,感谢大佬!

 

 

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

 

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

因此之后开发,能值引入函数的就只引入函数,尽可能不要把整个库都引入。

相关文章
相关标签/搜索