技术背景
在很多情况下,编程人员是在Linux环境下完成编程任务,但更多的使用者是在Windows环境下。因此,我们需要考虑环境转换的问题。虽然Python作为一门通用编程语言可以在不同环境下运行,但其生成的可执行文件却不具备这一特性。目前,最便捷的方法是在各自的平台上使用PyInstaller来编译生成可执行文件。
编写Python脚本
在编译可执行文件之前,我们需要编写一个可执行的Python任务脚本。这个脚本可以包含复杂的运算、显示图片或是一个完整的PC端软件。我们这里的任务是使用NumPy创建一个离散的正弦函数图像,然后通过Matplotlib展示出来:
# plot.py import numpy as np import matplotlib.pyplot as plt <p>x = np.linspace(0,10,1000) y = np.sin(x) plt.figure() plt.plot(x,y,'o',color='green') plt.show()
请注意,如果Python脚本中依赖于一些打印输出函数,在编译可执行文件时需要指定弹出终端窗口,否则程序无法正确执行。
立即学习“Python免费学习笔记(深入)”;
安装PyInstaller并编译可执行文件
PyInstaller是一个跨平台的Python工具,可以在Windows和Linux上通过pip进行安装和管理:
python3 -m pip install pyinstaller
以Linux平台为例,安装PyInstaller后,可以直接执行以下指令对Python脚本进行编译:
$ pyinstaller -F plot.py ... $ ll total 24 drwxr-xr-x 4 dechin dechin 4096 Apr 20 14:26 ./ drwxr-xr-x 4 dechin dechin 4096 Apr 19 22:31 ../ drwxr-xr-x 3 dechin dechin 4096 Apr 20 14:26 build/ drwxr-xr-x 2 dechin dechin 4096 Apr 20 14:28 dist/ -rw-r--r-- 1 dechin dechin 160 Apr 20 14:21 plot.py -rw-r--r-- 1 dechin dechin 808 Apr 20 14:26 plot.spec $ ll dist/ total 264376 drwxr-xr-x 2 dechin dechin 4096 Apr 20 14:28 ./ drwxr-xr-x 4 dechin dechin 4096 Apr 20 14:26 ../ -rwxr-xr-x 1 dechin dechin 270710928 Apr 20 14:28 plot*
编译成功后,会在当前路径下生成
build
dist
dist
./plot

关于PyInstaller的指令,常用的还有指定不弹出终端窗口的指令(用于输出程序打印内容)以及程序显示logo的指令(一般为ico文件):
pyinstaller -F -w plot.py # 不弹出黑色对话框 pyinstaller -F -i ico_file.ico plot.py # 指定显示图标
在Linux环境下完成编译后,生成的可执行文件只能在Linux环境下运行。为了生成在Windows环境下可运行的exe可执行文件,我们需要切换到Windows系统下进行编译:
Mode LastWriteTime Length Name</p><hr /><p>d----- 2022/4/20 14:28 dist d----- 2022/4/20 14:26 build ------ 2022/4/20 14:26 808 plot.spec ------ 2022/4/20 14:21 160 plot.py PS > pyinstaller -F .\plot.py ... 47314 INFO: Appending PKG archive to EXE 62696 INFO: Building EXE from EXE-00.toc completed successfully. PS > ls .\dist\ 目录: \wsl.localhost\Ubuntu-18.04\home\dechin\projects\project0331\dist Mode LastWriteTime Length Name</p><hr /><p>---------- 2022/4/20 14:28 270710928 plot ------ 2022/4/20 14:40 36811075 plot.exe
同样地,编译完成后,在
dist
plot.exe

在Windows环境下运行软件时,可能会弹出一些窗口,我们直接允许这些窗口即可:

可以看到,虽然与Linux下可执行文件的运行结果在视觉效果上略有差异,但基本上还是相似的。
总结概要
在完成一个软件或程序的实现后,最后一步是发布。发布的目的是让更多人使用这个项目,而大部分用户没有相应的编程环境,因此我们必须考虑将代码编译成各个平台的可执行文件,再发布给用户使用。本文主要介绍了如何通过PyInstaller在Linux和Windows上分别打包Python脚本为可执行文件。目前,跨平台编译软件仍然具有一定难度,博主本地使用的是Win11和WSL2 Ubuntu Linux环境,能够在一定程度上解决跨平台发布的问题。
以上就是将python脚本打包为exe可执行文件的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号