一、如何打包py程序
1、安装打包模块
pip install pyinstaller
2、定义保存包的路径 CMD ,CD
比方:把最终*.exe运行文件,保存到H盘 install 文件夹下。
输入: H: CD [自己定义文件名]
3、打包生成
红字是我的py程序所在路径,--noconsol 是屏蔽黑色的控制窗口。
pyinstaller -F E:PythonProgramCSVCall.py --noconsol
注意:*.py的路径中,文件夹中可以有中文,但是不能有空格。不然打包时报错。
执行命令后,exe文件自动生成在H盘下,build 文件可以删除掉。
4、给exe增加图标
pyinstaller -i E:PythonProgarmCSVsun.ico -F E:PythonProgarmCSVCall.py --noconsole
这里需要注意,程序复制到桌面才会有显示,另外上面的名字也可以写成: pyinstaller -F -i sun.ico E:PythonProgarmCSVCall.py --noconsole 前提是*.ico需要和*.py文件在同一文件夹下。
5、指令含义
一些常用的功能参数,官方手册可参考:https://pyinstaller.readthedocs.io/en/stable/
二、打包程序遇到的一些问题
问题1:关于32位和64位系统
如果是64位环境打包的程序,只能给64位的电脑使用。如果需要在32位电脑上运行怎么办呢?
比较粗暴的方法是:使用2台电脑一台构建32位的环境,一台构建64位的环境。如果需要在64位电脑上同时打包
下面这里有另外博主的一些方法可以参考。
转载链接: https://www.hellomao.top/2019/05/25/python_pyinstaller/
https://blog.csdn.net/allan2222/article/details/88035116
问题2:运行中出现 :ImportError: unable to find Qt5Core.dll on PATH
这个问题主要是PyQt5 bug导致的,按照一些方法添加PyQt5到系统变量表中,问题没有解决。我又再网上查了一些其它方法。
解决方案:参考链接:https://blog.csdn.net/zwyact/article/details/99778898
代码前加以下代码或者使用更新版本的PyQt5
import sys, os if hasattr(sys, 'frozen'): os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']
问题3:安装不上PyQt5 5.13
执行以下命令 安装不上pyqt5
pip install PyQt5 -i https://pypi.douban.com/simple
解决方案:降低Python 版本,我自己测试安装32位Windos系统的Python 3.8 版本,在pip pyqt5 时,CMD安装不上,
安装Pytnon 3.7 版本没有问题。