转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~
目录
.exe
文件(--onefile
参数)。
setup.py
文件。
.exe
文件。
pyinstaller使用最方便,但exe实在太大了,一个tkinter窗口程序打包为200MB,因此转向Nuitka。
pip install nuitka
Nuitka的功能很强大,因此配置项也比较多,不过一般来说以下应该够用了。
nuitka --windows-console-mode=disable --onefile --enable-plugin=tk-inter --windows-icon-from-ico=app.ico --remove-output --follow-imports --enable-plugin=no-qt --noinclude-pytest-mode=nofollow --output-dir=build/ your.py
参数 | 含义与作用 |
---|---|
nuitka | 调用 Nuitka 编译器 |
your.py | 要打包的 Python 源代码文件 |
--windows-console-mode=disable | 告诉 Windows 不要为程序创建控制台窗口(隐藏黑框),用于 GUI 程序 |
--onefile | 将所有内容打包成一个单独的 .exe 文件,便于分发,启动慢 |
--standalone | 会生成一个包含 .exe 和所有依赖文件的文件夹,启动快,占用空间大,适合开发调试、便于查看依赖结构。与onefile二选一。 |
--enable-plugin=tk-inter | 启用 Nuitka 提供的 Tkinter 插件,自动处理 Tkinter 相关依赖和数据文件(如 Tcl/Tk DLL、字体、图标等)。需要但没加时候会给warning。有:tk-inter|PySide6|PySide2|PyQt6|PyQt5 |
--remove-output | 删除输出文件夹中的 .build文件夹 |
--windows-icon-from-ico | 添加图标 |
--follow-imports | 自动递归跟踪并包含所有你代码中导入的模块 |
--jobs=4 | 限制并行编译线程数,不然跑满CPU卡死电脑 |
--enable-plugin=no-qt | 避免误加载 Qt 插件,减少打包复杂度和体积。确实用了Qt就不要加 |
--include-data-files=src/*.txt=. | 手动包含非代码资源文件,可选 |
--output-dir=build/ | 指定输出目录 |
--noinclude-pytest-mode=nofollow | 避免自动包含测试依赖,从而精简依赖体积 |
--show-progress | 显示构建进度,用于调试或观察编译流程 |
对于简单的代码,实测效果没啥差别。对于复杂代码打包,可能会遇到问题,需要慢慢调。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。