在进行Python打包时,大家需要根据任务需求灵活地来选择打包技术。本文把各类Python打包exe技术进行了小结。
1) Window系统打包单个py文件为exe:
首先,使用pip或是IDE安装pyinstaller。
然后,使用命令pyinstaller -F XXX.py命令把单个py文件打包成一个XXX.exe文件;
另外,也可以使用pyinstaller -D XXX.py命令把单个py文件打包成一个文件夹,里面有XXX.exe文件也有其他库包。
2) Windows系统打包多个py文件为exe:
如果是需要把多py文件打包exe,则分多步执行。假设我们有三个py文件XXX.py, YYY.py, ZZZ.py,需要把他们打包在一起生成exe文件。这里三个py的代码如下:
从代码中可以看出,XXX.py调用YYY类中的函数,YYY调用ZZZ类中的函数,如果执行XXX则需要把三个文件都打包在一起。
1)首先使用pyi-makespec XXX.py命令,这里XXX.py为主程序文件,该命令会生成一个XXX.spec文件;如果需要使用ico,则可以使用pyi-makespec XXX.py -i myiconame.ico
2)打开XXX.spec文件,把里面['XXX.py']改成['XXX.py','YYY.py','ZZZ.py']
3)使用pyinstaller -D XXX.spec命令,打包成一个文件夹,里面有XXX.exe文件和其他库包。
我们可以双击XXX.exe进行测试,效果如下:
在之后的文章,会继续讲其他情况的Python文件打包exe
常见问题:
1.为什么打包生成的exe在本机能运行,但在发布的电脑系统上无法运行?
答:Windows电脑需要基本的运行环境才能运行exe。全新的电脑可能环境不全,可以尝试从微软官网下载并安装64位VisualC++Redistributable
2.安装了Visual C++ Redistributable还是无法在发布的电脑系统上运行?
答:可以在本机上建立一个与发布电脑系统相同的虚拟机环境,然后在虚拟机环境上安装python并进行打包。这样打包后的exe就能在目标电脑系统上运行。