PyInstaller 将 Python 程序生成可直接运行的程序

图标转换地址:https://convert.app/#google_vignette

官方文档:https://readthedocs.org/projects/pyinstaller/downloads/pdf/stable/#page20

安装pyinstaller

python 复制代码
pip install pyinstaller

执行打包

python 复制代码
pyinstaller -i ./resource/w.icns -w -F whv.py --add-data "./data/account.json:./data/" --add-data "./extension/captcha.zip:./extension/" --target-arch=x86_64

常用到的参数

  1. -onefile 或 F:将所有程序打包成单个可执行文件。
  2. -onedir 或 D:将所有程序打包成一个目录,但不生成单个可执行文件。
  3. -icon=图标文件:将图标文件作为程序图标。
  4. -name=可执行文件名:指定可执行文件名。
  5. -specpath=输出目录:生成.spec文件(PyInstaller的配置文件)的存储路径。
  6. -clean:清理PyInstaller在打包过程中产生的临时文件。
  7. -hidden-import=模块名:指定import但未被PyInstaller检测到的模块。
  8. -debug=all:按照详细程度指定调试等级。
  9. -windowed:指定程序不为控制台模式。
  10. -upx-dir=UPX路径:指定UPX可执行文件的路径,用于压缩可执行文件。
  11. -upx-exclude=UPX排除模板:指定UPX排除的文件类型。
  12. -upx-compress-level=压缩级别:指定UPX的压缩级别。
  13. -exclude-module=模块名:排除不需要打包的模块。
  14. -additional-hooks-dir=钩子目录:指定钩子文件所在目录。
  15. -runtime-hook=运行时钩子:指定运行时钩子文件。
  16. -collect-submodules=深入收集子模块:收集子模块。
  17. -version-file=版本文件:指定版本文件。
  18. -add-data="源文件;目标地址":指定打包时需要添加的附加文件,可以使用通配符。
  19. -add-binary="源文件;目标地址":与-add-data类似,但是它可以将源文件编译成二进制文件。

注意事项

  1. 不同的平台得用不同的平台打包,比如mac arm64架构的得用mac arm64架构的平台打包,Windows得用Windows的平台打包
相关推荐
starzy19905 分钟前
深入理解Scala嵌套函数:作用域封装之道
开发语言·scala
Sakura_j_h_15 分钟前
从零写一个 MCP stdio Server:用 Python 校验博客文章格式
开发语言·python·自动化·ai工具·mcp·json-rpc
大草原的小灰灰22 分钟前
LLM应用的标准开发框架LangChain(八)- 中间件
python·中间件·langchain
卷无止境33 分钟前
百万 token 时代的真相:主流大模型上下文窗口与最大输出的横向对比分析
人工智能·python
用户298698530141 小时前
Python 实战:将 HTML 批量转换为 Markdown
python·html·markdown
hhcgchpspk1 小时前
flask服务端页面预防被爬措施
后端·python·flask·网络爬虫·防爬
小小张说故事1 小时前
Python 里 copy.copy() 和 deepcopy() 到底差在哪:拆开 __copy__、__deepcopy__ 和那个防止无限递归的 memo 字典
python
vipxieliang1 小时前
Python collections:高效容器与实战案例
后端·python
青少儿编程课堂2 小时前
蓝桥杯青少组图形化 STEMA 省考(报名倒计时·11/22开考)+ 全国青少年信息素养大赛 2026—2027赛季 + 电子学会图形化考级:校园华容道大闯关
c++·python·算法·bfs·信息学竞赛
特创数字科技2 小时前
写了个 Windows 下载器:一键拉 GitHub / Gitee 源码,带 SHA256 校验
python·github