Python 打包:pyinstaller

发布于:2024-04-27 ⋅ 阅读:(30) ⋅ 点赞:(0)

为什么选择它

原因:

  • 它的打包质量高
  • 他支持的系统很多1
  • 方便(我个人这么认为)

用法详解

所有命令




pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME] [--add-data <SRC;DEST or SRC:DEST>] [--add-binary <SRC;DEST or SRC:DEST>] [-p DIR]
                   [--hidden-import MODULENAME] [--collect-submodules MODULENAME] [--collect-data MODULENAME] [--collect-binaries MODULENAME]
                   [--collect-all MODULENAME] [--copy-metadata PACKAGENAME] [--recursive-copy-metadata PACKAGENAME] [--additional-hooks-dir HOOKSPATH]
                   [--runtime-hook RUNTIME_HOOKS] [--exclude-module EXCLUDES] [--splash IMAGE_FILE] [-d {all,imports,bootloader,noarchive}]
                   [--python-option PYTHON_OPTION] [-s] [--noupx] [--upx-exclude FILE] [-c] [-w]
                   [-i <FILE.ico or FILE.exe,ID or FILE.icns or Image or "NONE">] [--disable-windowed-traceback] [--version-file FILE]
                   [-m <FILE or XML>] [--no-embed-manifest] [-r RESOURCE] [--uac-admin] [--uac-uiaccess] [--win-private-assemblies]
                   [--win-no-prefer-redirects] [--argv-emulation] [--osx-bundle-identifier BUNDLE_IDENTIFIER] [--target-architecture ARCH]
                   [--codesign-identity IDENTITY] [--osx-entitlements-file FILENAME] [--runtime-tmpdir PATH] [--bootloader-ignore-signals]
                   [--distpath DIR] [--workpath WORKPATH] [-y] [--upx-dir UPX_DIR] [-a] [--clean] [--log-level LEVEL]
                   scriptname [scriptname ...]


常规

-h

显示帮助消息

-v、 --version

显示程序版本信息并退出。

–distpath DIR

将捆绑的应用程序放在何处(默认值:./dist)
DIR值需填路径

–workpath Workpath

将所有临时工作文件、.log、.pyz等放在何处(默认值:./build)
Workpath需填路径

-y、 --noconfirm

替换输出目录(默认值:SPECPATH\dist\SPECNAME),无需确认

–upx dir upx_dir Upx

实用程序的路径(默认值:搜索执行路径)
Upx需填路径

-a、 --ascii

不包括unicode编码支持(默认值:如果可用,则包括在内)

–clean

在生成之前清除PyInstaller缓存并删除临时文件。

–log-level LEVEL

生成时控制台消息中的详细信息量。
LEVEL需填:

  • TRACE
  • DEBUG
  • INFO
  • WARN
  • DEPRECATION
  • ERROR
  • FATAL中的一个
    (默认值:INFO)。也可通过PYI_LOG_LEVEL环境变量进行设置并覆盖该变量。

生成内容

-D、 --onedir

创建一个包含可执行文件的一个文件夹捆绑包(默认)

-F、 --onefile

创建一个文件绑定的可执行文件。

–specpath DIR

用于存储生成的规范文件的文件夹(默认值:当前目录)
DIR需填路径

-n NAME,–NAME NAME

要分配给捆绑的应用程序和规范文件的名称(默认值:第一个脚本的基本名称)

-w

打包后的程序没有背景的黑色窗口

执行程序

我们在我们所打包的目录下找到名叫dist的文件夹,里面有一个.exe的可执行文件,双击后就可以运行了。


  1. 可以运行的系统:Windows、GNU、Linux,有用户报告称在这些平台:AIX、Solaris、FreeBSD 与 OpenBSD。 ——https://muzing.gitbook.io/pyinstaller-docs-zh-cn/requirements ↩︎