
























PyInstaller 提供了许多命令行选项,可以帮助我们进一步优化打包文件的大小。
--onefile vs --onedir--onefile (默认 -F): 将所有文件打包成一个独立的 .exe 文件。--onedir (默认): 将所有文件打包到一个文件夹中,其中包含主 .exe 文件和所有依赖库。对于追求最小体积和快速启动的场景,--onedir 可能是一个更好的选择,尽管它需要分发一个文件夹。但通常,为了方便,我们还是会选择 --onefile,然后配合其他优化选项。
--noconsole (默认 -w)如果你打包的是一个带有图形用户界面(GUI)的应用程序,或者不希望在运行时弹出命令行窗口,可以使用 --noconsole 选项。这有时也能稍微减小文件大小。
pyinstaller --onefile --noconsole my_app.py
--strip这个选项会尝试从可执行文件和库中移除调试符号表(debug symbols)。这可以显著减小文件大小,但会使调试变得困难。在发布最终版本时非常有用。
pyinstaller --onefile --noconsole --strip my_app.py
--exclude-module <module_name>如果你的程序不使用某个标准库或第三方库的特定模块,但 PyInstaller 错误地将其包含进来,你可以使用此选项将其排除。例如,如果你的应用是纯命令行,不需要 tkinter:
pyinstaller --onefile --noconsole --exclude-module tkinter my_app.py
注意: 确保你排除的模块确实不会被你的程序或其依赖所使用,否则会导致运行时错误。
--paths <path> (默认 -p)如果 PyInstaller 无法找到某个模块,或者你希望它在特定目录中查找模块,可以使用 --paths 添加额外的搜索路径。虽然这通常不是减小大小的直接方法,但它能帮助解决依赖缺失问题。
--upx-dir <UPX_path> / UPX 压缩UPX (Ultimate Packer for eXecutables) 是一个免费的、开源的、高度可压缩的可执行文件打包器。它可以将 .exe、.dll 等文件进行压缩,从而大大减小文件大小。PyInstaller 能够与 UPX 无缝集成。
使用步骤:
C:\Users\YourUser\upx-3.96-win64。pyinstaller 命令时,通过 --upx-dir 选项指定 UPX 的路径(UPX 可执行文件所在的目录)。upx.exe 的路径添加到系统环境变量 PATH 中,则可以直接使用 --upx-dir . 或不指定该选项(PyInstaller 会自动尝试查找)。UPX 的注意事项:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。