PyQt5打包exe
写好了python代码,如何打包成可执行的exe软件是需要考虑的问题。这里我们使用pyinstaller进行打包。
安装pyinstaller
1 | pip install pyinstaller |
网速慢的话可以换源,教程Link
打包
假设主程序是main.py
引用的自定义第三方类需要在同一目录或者引用添加路径
键入
1 | pyinstaller main.py #最直接简单 |
遇到的问题
如果就是这么顺利,那也不会写个博客。在win系统下打包会出现各种各样的问题,主要还是windows系统环境变量的问题。比如:
出现No module named xxx(bs4)
这种一般是缺失了某个库,直接安装
1 | pip install xxx |
但大部分情况是,其实你安装了却还是出错。
1 | pip list #检测安装了哪些库 |
这时候就需要你指定库安装的路径了,一般是python的安装目录下/lib/site-package
此时键入
1 | pyinstaller main.py -F -i xxx.ico -w -p xxx/python/lib/site-package |
代码内部引用资源
一般做软件会自定义一些自己的图标,背景图片,或是控件图标。但是我们打包后这些图标同样需要copy到main.exe相应的路径下。不然会出现缺失。
Spec文件
spec文件是伴随打包而出现的文件,相当于是对main.py打包的配置文件,我们之前输入的那么多参数就体现在spec文件内,以此如果我们不想在输入这么多的参数了,就可以直接去spec文件内修改
1 | vim main.spec |
之后键入
1 | pyinstaller main.spec |
这就算完成了
Comments