将Python程序打包成exe(可执行文件)的主要原因是为了便于分发和使用,同时保护代码和提升用户体验。。这个过程有几个关键优点:
将Python程序打包成Windows平台的EXE可执行文件可以使用多种技术或工具。以下是一些常用的打包工具:
1、 PyInstaller :可能是最流行的打包工具之一。它支持将Python应用打包成一个独立的可执行文件,无需依赖于本地Python环境。PyInstaller支持多个平台,包括Windows、macOS和Linux。
2、 cx_Freeze :这是另一种常用的工具,它可以用来创建跨平台的应用程序,包括Windows上的EXE文件。cx_Freeze是一个脚本驱动的工具,允许用户通过脚本定制打包过程。
3、 py2exe :这是一个专为Windows设计的工具,它可以将Python脚本转换成只运行于Windows的可执行文件。py2exe在处理依赖关系和包含所需库方面表现良好,但它不支持Python 3.5及以上版本。
3、 Nuitka :Nuitka是一个Python编译器,它可以将Python代码编译成二进制可执行文件。它不仅可以用于创建独立的可执行文件,还可以用于优化Python代码的性能。
4、 Py2app :虽然主要用于在macOS上创建应用程序包,但py2app也可以用于在Windows上创建独立的可执行文件。
5、 PyOxidizer :这是一个相对较新的工具,它可以创建包含Python解释器和依赖库的独立二进制可执行文件。PyOxidizer着重于创建小巧、快速启动的应用程序。
6、 Briefcase :Briefcase是一个用于将Python项目打包成独立应用程序的工具,支持多个平台,包括Windows、macOS和Linux。
从网上找了一个对比:
pip install pyinstaller
如果是升级的话:
pip install --upgrade pyinstaller
一些常用的PyInstaller选项参数及其说明:
--onefile 或 -F:
生成单个可执行文件。默认情况下,PyInstaller会生成一个包含依赖文件的文件夹。
使用此选项后,所有依赖项都会被打包到一个文件中。
--noconsole 或 -w:
用于GUI应用程序,不显示控制台窗口。
对于需要交互的控制台程序不适用。
--console, -c:
强制显示控制台窗口(默认行为)。
--icon=图标路径:
为生成的exe文件添加一个图标。
图标路径应该是.ico文件的完整路径。
--add-data=<SRC;DEST>:
包括非Python文件到打包应用中。
<SRC;DEST>是一对源和目标路径,用分号;分隔。在Linux和macOS上,使用冒号:而不是分号。
--name=名称:
指定输出文件的名称。
--paths=路径:
在搜索导入的模块时添加额外的路径。
--hidden-import=模块名 或 --hiddenimport:
指定PyInstaller可能未自动检测到的隐藏导入。
--windowed:
另一种写--noconsole的方式。
--version-file=文件:
添加一个版本资源从指定的文件到可执行文件。
--runtime-hook=文件:
运行时挂钩是在Python解释器初始化期间运行的脚本。
--distpath=DIR:
指定输出的分发文件夹,默认是./dist。
--workpath=DIR:
指定工作文件夹,用于存储临时工作文件,默认是./build。
--clean:
清除PyInstaller创建的临时文件和缓存。
--debug:
生成用于调试的输出和文件。
--upx-dir:
如果您安装了UPX压缩工具,此选项可以指定其路径。
1、编写自己的python代码,例如:
hello.py:
print("Hello world!")
2、执行命令打包
pyinstaller hello.py
可以将hello.py替换成你需要打包的文件入口。
3、执行后就会生成
运行上述命令后,PyInstaller会在当前目录下创建两个文件夹:build/和dist/。
dist/文件夹包含了可执行文件。
如果一切正常,exe文件会在这里找到。
4、运行文件
可以双击即可运行,或者在cmd中直接运行。
1、单文件(--onefile):
使用--onefile选项创建单一的exe文件:
pyinstaller --onefile your_script.py
这将生成一个包含所有依赖项的单个exe文件。
2、无控制台(--noconsole):
对于GUI应用程序,使用--noconsole选项以避免显示命令行窗口:
pyinstaller --noconsole your_script.py
3、添加图标(--icon=路径/图标.ico):
可以为您的exe文件添加一个图标:
pyinstaller --onefile --icon=路径/图标.ico your_script.py
4、添加数据文件:
如果您的应用程序需要额外的数据文件(如图像、文本文件等),您可以使用--add-data选项指定它们。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。