Pyinstaller打包——常见参数详解

专栏导读

  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注

  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅

  • 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅

  • 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

  • ❤️ 欢迎各位佬关注! ❤️

1. 库的介绍

  • PyInstaller 是一个将 Python 程序打包成独立执行文件的工具,常用于将 Python 脚本打包为可执行文件。以下是一些常见的 PyInstaller 参数及其解释:

2. 基本命令

pyinstaller myscript.py

默认情况下,这条命令会将 myscript.py 文件打包成可执行文件。输出的可执行文件位于 dist 文件夹中。


3. 常见参数

3.1: --onefile

  • 将所有内容打包成一个单独的可执行文件。默认情况下,PyInstaller 会生成一个文件夹,其中包含可执行文件和相关的依赖文件。使用此选项后,所有文件会被打包成一个文件。

pyinstaller --onefile myscript.py

3.2: --noconsole

  • 在 Windows 上,默认的 Python 程序会有一个命令行窗口。如果你的程序是 GUI 程序,使用这个选项可以避免显示命令行窗口。常用于 PyQt 或 Tkinter 等图形界面程序。

pyinstaller --noconsole myscript.py

3.3: --icon=ICON.ico

  • 设置可执行文件的图标。你可以提供一个 .ico 格式的图标文件。这个选项通常用于自定义应用程序的外观。

pyinstaller --icon=myicon.ico myscript.py

3.4: --add-data=SRC;DEST

  • 将外部文件或文件夹添加到打包的可执行文件中。SRC 是源文件路径,DEST 是目标路径。多个文件时可以多次使用此选项。

  • 在 Windows 上,SRC;DEST 用分号(;)分隔。

  • 在 Linux 和 macOS 上,使用冒号(:)分隔。

pyinstaller --add-data="datafile.txt;data" myscript.py

3.5: --hidden-import=module_name

  • 用来指定 PyInstaller 在分析程序时,自动忽略的模块。通常,如果你的代码动态导入模块,PyInstaller 可能无法自动检测到这些模块,需要显式地添加。

pyinstaller --hidden-import=my_module myscript.py

3.6: --clean

  • 清除上次构建过程中的临时文件,确保从头开始构建。此选项有助于解决一些缓存问题,尤其是在修改代码后打包时。

pyinstaller --clean myscript.py

3.7: --distpath=DIR

  • 指定生成的可执行文件所在的目录。默认情况下,PyInstaller 会在当前目录下创建一个 dist 文件夹。

pyinstaller --distpath=output myscript.py

3.8: --workpath=DIR

  • 指定 PyInstaller 工作目录的位置,默认情况下,它会生成一个 build 文件夹用于存放中间文件。

pyinstaller --workpath=build myscript.py

3.9: --specpath=DIR

  • 用来指定 .spec 文件的存放目录。.spec 文件包含了打包过程的配置信息,通常你可以修改 .spec 文件来定制 PyInstaller 的行为。

pyinstaller --specpath=specs myscript.py

3.10: --no-upx

  • 禁用 UPX 压缩,UPX(Ultimate Packer for eXecutables)是一种可执行文件压缩工具,PyInstaller 默认使用它来压缩可执行文件。如果你在某些系统上遇到兼容性问题,可以禁用 UPX 压缩。

pyinstaller --no-upx myscript.py

3.10: --debug

  • 开启调试模式,这可以帮助你在打包后的应用程序中看到更多的调试信息,常用于排查问题。

pyinstaller --debug myscript.py

3.10: --clean

  • 清除上次打包的临时文件,帮助解决某些缓存问题。用于确保构建从头开始。

pyinstaller --clean myscript.py

4. 使用 .spec 文件

  • PyInstaller 会生成一个 .spec 文件,它记录了打包时的配置,可以修改该文件来定制打包行为。生成 .spec 文件的命令是:

pyinstaller --onefile --noconsole myscript.py
  • 此时会生成一个 myscript.spec 文件。你可以编辑该文件来修改打包过程中的一些细节(如添加数据文件、修改图标等)。编辑后,可以用以下命令重新打包:

pyinstaller myscript.spec

5. PyInstaller 常见的输出目录

  • dist/:包含打包后生成的可执行文件。

  • build/:包含中间文件和临时文件。

  • *.spec:配置文件,记录了打包过程中的设定。

6. 其他选项

  • --version-file=VERSION.txt:使用版本文件生成版本信息。可以指定一个包含文件版本、公司名等信息的 .txt 文件。

# UTF-8 编码
# 版本信息文件

[Version]
Major=1
Minor=0
Micro=0
Release=0
Build=1001

# 产品信息
ProductName=MyApp
FileDescription=My Python Application
CompanyName=YourCompany
LegalCopyright=© 2024 YourCompany. All rights reserved.
FileVersion=1.0.0.1001
ProductVersion=1.0.0
  • --strip:删除不必要的调试符号,减小可执行文件大小。

  • 这些是 PyInstaller 的一些常见参数,了解它们可以帮助你更灵活地打包 Python 程序。

总结

  • 希望对初学者有帮助

  • 致力于办公自动化的小小程序员一枚

  • 希望能得到大家的【一个免费关注】!感谢

  • 求个 🤞 关注 🤞

  • 此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

  • 求个 ❤️ 喜欢 ❤️

  • 此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

  • 求个 👍 收藏 👍

  • 此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小庄-Python办公

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值