1.安装pyinstaller
python打包exe可执行文件时,需要使用pyinstaller,可以直接使用命令pip install pyinstaller进行安装,显示安装成功后,就可以开始打包可执行文件了,如果不太确定也可以使用pip list命令查看是否存在对应的安装包及版本。
2.打包单.py文件
python有时候只需要打包单个.py文件,这种情况就比较简单,一般不会遇到什么问题,直接在cmd下切换目录到.py文件所在目录,执行命令:
pyinstaller -F test.py
将会在对应目录下生成一个dist文件夹,可执行文件test.exe就在dist目录下,如果别人需要用到,即使没有python环境,依旧可以正常运行。
3.打包多个.py文件
打包多个.py文件的核心语句是:
pyinstaller -F main.py -p py_dir
其中main.py代表的是主程序,是主程序入口文件,-p后面的都是依赖文件,依赖文件目录最好是写绝对路径,像下面一样:
pyinstaller -F test.py -p D:\A\pythontest\basis\test\classA.py
可能因为导入包的问题,在打包的过程中,会报各种错误,为了减少错误的发生,我们可以这样做。
1)在导入类的时候,直接使用绝对导入,如下面的basis.test.classA,尽量减少使用相对导入,容易出错。
2)如果出现找不到模块的情况:如ModuleNotFoundError: No module named ‘basis’,这时就需要加上basis所在路径sys.path.append(“D:\A\pythontest”),才可以正确找到basis模块。
import sys
sys.path.append("D:\A\pythontest")
from basis.test.classA import classA
3)如果还有找不到的模块,可以直接对生成的test.spec文件进行操作,报错缺少什么模块,就在红框中添加对应的模块信息。
不论是单文件打包,还是多文件打包,最后生成的可执行文件,只需要在cmd下切换到.exe所在目录,执行对应的操作即可。