Python模块之pyinstaller

模块作用简介:

pyinstaller 将py文件打包成exe双击可执行二进制文件


官方 英文 帮助:https://docs.python.org/3/library/
官方 简体中文 帮助:https://docs.python.org/zh-cn/3/library/



必要操作:

>>> import


安装:

>>> pip install pyinstaller


导入包:



帮助查看:

pyinstaller -h

或 单独查看某个子方法(函数)

pyinstaller -v


方法(函数):

>>>


6.11.1 参数

usage: pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME] [--contents-directory CONTENTS_DIRECTORY]
[--add-data SOURCE:DEST] [--add-binary SOURCE: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}] [--optimize LEVEL]
[--python-option PYTHON_OPTION] [-s] [--noupx] [--upx-exclude FILE] [-c] [-w]
[--hide-console {hide-late,hide-early,minimize-late,minimize-early}]
[-i <FILE.ico or FILE.exe,ID or FILE.icns or Image or "NONE">] [--disable-windowed-traceback]
[--version-file FILE] [--manifest <FILE or XML>] [-m <FILE or XML>] [-r RESOURCE] [--uac-admin]
[--uac-uiaccess] [--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] [--clean] [--log-level LEVEL]
scriptname [scriptname ...]
positional arguments:
scriptname Name of scriptfiles to be processed or exactly one .spec file. If a .spec file is specified,
most options are unnecessary and are ignored.
options:
-h, --help show this help message and exit
-v, --version Show program version info and exit.
--distpath DIR Where to put the bundled app (default: ./dist)
--workpath WORKPATH Where to put all the temporary work files, .log, .pyz and etc. (default: ./build)
-y, --noconfirm Replace output directory (default: SPECPATH\dist\SPECNAME) without asking for confirmation
--upx-dir UPX_DIR Path to UPX utility (default: search the execution path)
--clean Clean PyInstaller cache and remove temporary files before building.
--log-level LEVEL Amount of detail in build-time console messages. LEVEL may be one of TRACE, DEBUG, INFO, WARN,
DEPRECATION, ERROR, FATAL (default: INFO). Also settable via and overrides the PYI_LOG_LEVEL
environment variable.
What to generate:
-D, --onedir Create a one-folder bundle containing an executable (default)
-F, --onefile Create a one-file bundled executable.
--specpath DIR Folder to store the generated spec file (default: current directory)
-n, --name NAME Name to assign to the bundled app and spec file (default: first script's basename)
--contents-directory CONTENTS_DIRECTORY
For onedir builds only, specify the name of the directory in which all supporting files (i.e.
everything except the executable itself) will be placed in. Use "." to re-enable old onedir
layout without contents directory.
What to bundle, where to search:
--add-data SOURCE:DEST
Additional data files or directories containing data files to be added to the application. The
argument value should be in form of "source:dest_dir", where source is the path to file (or
directory) to be collected, dest_dir is the destination directory relative to the top-level
application directory, and both paths are separated by a colon (:). To put a file in the top-
level application directory, use . as a dest_dir. This option can be used multiple times.
--add-binary SOURCE:DEST
Additional binary files to be added to the executable. See the ``--add-data`` option for the
format. This option can be used multiple times.
-p, --paths DIR A path to search for imports (like using PYTHONPATH). Multiple paths are allowed, separated by
``';'``, or use this option multiple times. Equivalent to supplying the ``pathex`` argument in
the spec file.
--hidden-import, --hiddenimport MODULENAME
Name an import not visible in the code of the script(s). This option can be used multiple
times.
--collect-submodules MODULENAME
Collect all submodules from the specified package or module. This option can be used multiple
times.
--collect-data, --collect-datas MODULENAME
Collect all data from the specified package or module. This option can be used multiple times.
--collect-binaries MODULENAME
Collect all binaries from the specified package or module. This option can be used multiple
times.
--collect-all MODULENAME
Collect all submodules, data files, and binaries from the specified package or module. This
option can be used multiple times.
--copy-metadata PACKAGENAME
Copy metadata for the specified package. This option can be used multiple times.
--recursive-copy-metadata PACKAGENAME
Copy metadata for the specified package and all its dependencies. This option can be used
multiple times.
--additional-hooks-dir HOOKSPATH
An additional path to search for hooks. This option can be used multiple times.
--runtime-hook RUNTIME_HOOKS
Path to a custom runtime hook file. A runtime hook is code that is bundled with the executable
and is executed before any other code or module to set up special features of the runtime
environment. This option can be used multiple times.
--exclude-module EXCLUDES
Optional module or package (the Python name, not the path name) that will be ignored (as
though it was not found). This option can be used multiple times.
--splash IMAGE_FILE (EXPERIMENTAL) Add an splash screen with the image IMAGE_FILE to the application. The splash
screen can display progress updates while unpacking.
How to generate:
-d, --debug {all,imports,bootloader,noarchive}
Provide assistance with debugging a frozen
application. This argument may be provided multiple
times to select several of the following options.
- all: All three of the following options.
- imports: specify the -v option to the underlying
Python interpreter, causing it to print a message
each time a module is initialized, showing the
place (filename or built-in module) from which it
is loaded. See
https://docs.python.org/3/using/cmdline.html#id4.
- bootloader: tell the bootloader to issue progress
messages while initializing and starting the
bundled app. Used to diagnose problems with
missing imports.
- noarchive: instead of storing all frozen Python
source files as an archive inside the resulting
executable, store them as files in the resulting
output directory.
--optimize LEVEL Bytecode optimization level used for collected python modules and scripts. For details, see
the section “Bytecode Optimization Level” in PyInstaller manual.
--python-option PYTHON_OPTION
Specify a command-line option to pass to the Python interpreter at runtime. Currently supports
"v" (equivalent to "--debug imports"), "u", "W <warning control>", "X <xoption>", and
"hash_seed=<value>". For details, see the section "Specifying Python Interpreter Options" in
PyInstaller manual.
-s, --strip Apply a symbol-table strip to the executable and shared libs (not recommended for Windows)
--noupx Do not use UPX even if it is available (works differently between Windows and *nix)
--upx-exclude FILE Prevent a binary from being compressed when using upx. This is typically used if upx corrupts
certain binaries during compression. FILE is the filename of the binary without path. This
option can be used multiple times.
Windows and Mac OS X specific options:
-c, --console, --nowindowed
Open a console window for standard i/o (default). On Windows this option has no effect if the
first script is a '.pyw' file.
-w, --windowed, --noconsole
Windows and Mac OS X: do not provide a console window for standard i/o. On Mac OS this also
triggers building a Mac OS .app bundle. On Windows this option is automatically set if the
first script is a '.pyw' file. This option is ignored on *NIX systems.
--hide-console {hide-late,hide-early,minimize-late,minimize-early}
Windows only: in console-enabled executable, have bootloader automatically hide or minimize
the console window if the program owns the console window (i.e., was not launched from an
existing console window).
-i, --icon <FILE.ico or FILE.exe,ID or FILE.icns or Image or "NONE">
FILE.ico: apply the icon to a Windows executable. FILE.exe,ID: extract the icon with ID from
an exe. FILE.icns: apply the icon to the .app bundle on Mac OS. If an image file is entered
that isn't in the platform format (ico on Windows, icns on Mac), PyInstaller tries to use
Pillow to translate the icon into the correct format (if Pillow is installed). Use "NONE" to
not apply any icon, thereby making the OS show some default (default: apply PyInstaller's
icon). This option can be used multiple times.
--disable-windowed-traceback
Disable traceback dump of unhandled exception in windowed (noconsole) mode (Windows and macOS
only), and instead display a message that this feature is disabled.
Windows specific options:
--version-file FILE Add a version resource from FILE to the exe.
--manifest <FILE or XML>
Add manifest FILE or XML to the exe.
-m <FILE or XML> Deprecated shorthand for --manifest.
-r, --resource RESOURCE
Add or update a resource to a Windows executable. The RESOURCE is one to four items,
FILE[,TYPE[,NAME[,LANGUAGE]]]. FILE can be a data file or an exe/dll. For data files, at least
TYPE and NAME must be specified. LANGUAGE defaults to 0 or may be specified as wildcard * to
update all resources of the given TYPE and NAME. For exe/dll files, all resources from FILE
will be added/updated to the final executable if TYPE, NAME and LANGUAGE are omitted or
specified as wildcard *. This option can be used multiple times.
--uac-admin Using this option creates a Manifest that will request elevation upon application start.
--uac-uiaccess Using this option allows an elevated application to work with Remote Desktop.
Mac OS specific options:
--argv-emulation Enable argv emulation for macOS app bundles. If enabled, the initial open document/URL event
is processed by the bootloader and the passed file paths or URLs are appended to sys.argv.
--osx-bundle-identifier BUNDLE_IDENTIFIER
Mac OS .app bundle identifier is used as the default unique program name for code signing
purposes. The usual form is a hierarchical name in reverse DNS notation. For example:
com.mycompany.department.appname (default: first script's basename)
--target-architecture, --target-arch ARCH
Target architecture (macOS only; valid values: x86_64, arm64, universal2). Enables switching
between universal2 and single-arch version of frozen application (provided python installation
supports the target architecture). If not target architecture is not specified, the current
running architecture is targeted.
--codesign-identity IDENTITY
Code signing identity (macOS only). Use the provided identity to sign collected binaries and
generated executable. If signing identity is not provided, ad-hoc signing is performed
instead.
--osx-entitlements-file FILENAME
Entitlements file to use when code-signing the collected binaries (macOS only).
Rarely used special options:
--runtime-tmpdir PATH
Where to extract libraries and support files in `onefile` mode. If this option is given, the
bootloader will ignore any temp-folder location defined by the run-time OS. The
``_MEIxxxxxx``-folder will be created here. Please use this option only if you know what you
are doing. Note that on POSIX systems, PyInstaller's bootloader does NOT perform shell-style
environment variable expansion on the given path string. Therefore, using environment
variables (e.g., ``~`` or ``$HOME``) in path will NOT work.
--bootloader-ignore-signals
Tell the bootloader to ignore signals rather than forwarding them to the child process. Useful
in situations where for example a supervisor process signals both the bootloader and the child
(e.g., via a process group) to avoid signalling the child twice.
选项:
-h,--help 显示此帮助消息并退出
-v,--version显示程序版本信息并退出
--distpath DIR放置捆绑应用程序的位置(默认值:./dist)
--workpath workpath放置所有临时工作文件、.log、.pyz等的位置。(默认:./build)
-y,--noconfirm替换输出目录(默认:SPECPATHdistSPECNAME)而不要求确认
--upx-dir upx_dir到upx实用程序的路径(默认:搜索执行路径)
--clean PyInstaller缓存并在构建前删除临时文件
--log-level LEVEL 构建时控制台消息中的详细信息量。级别可以是跟踪、调试、信息、警告、撤销、错误、致命(默认值:信息)之一。也可以通过PYI_LOGLEVEL环境变量进行设置和覆盖。
生成内容:
-D,--onedir创建一个包含可执行文件的单文件夹捆绑包(默认)
-F,--onefile创建一个捆绑的可执行文件
--specpath DIR用于存储生成的规范文件的文件夹(默认:当前目录)
-n,--name name要分配给捆绑的应用程序和规范文件的名称(默认:第一个脚本的基名)
--contents-directory contents_directory 仅对于onedir构建,请指定将放置所有支持文件(即除可执行文件本身之外的所有文件)的目录名称。使用“.”重新启用没有内容目录的旧onedir布局。
捆绑什么,在哪里搜索:
--add-data SOURCE:DEST 包含要添加到应用程序的数据文件的其他数据文件或目录。参数值应采用“source:dest_dir”的形式,其中source是要收集的文件(或目录)的路径,dest_dir是相对于顶级应用程序目录的目标目录,两个路径之间用冒号(:)分隔。要将文件放在顶级应用程序目录中,请使用。作为dest_dir。此选项可以多次使用
--add binary SOURCE:删除要添加到可执行文件中的其他二进制文件。有关格式,请参阅“--add data”选项。此选项可以多次使用
-p、 --paths DIR搜索导入的路径(如使用Python)。允许多条路径,用“”分隔,或多次使用此选项。相当于在规范文件中提供“pathex”参数--隐藏导入,
--hiddenimport MODULENAME指定一个在脚本代码中不可见的导入。此选项可以多次使用--收集子模块MODULENME从指定的包或模块中收集所有子模块。此选项可以多次使用--收集数据,
--collection data MODULENME从指定的包或模块中收集所有数据。此选项可以多次使用--收集二进制文件MODULENME从指定的包或模块中收集所有二进制文件。此选项可以多次使用
--收集所有MODULENME从指定的包或模块中收集所有子模块、数据文件和二进制文件。此选项可以多次使用
--复制元数据PACKAGENAME复制指定包的元数据。此选项可以多次使用
--递归复制元数据PACKAGENAME复制指定包及其所有依赖项的元数据。此选项可以多次使用--附加钩子dir HOOKSPATH搜索钩子的附加路径。此选项可以多次使用
--运行时钩子runtime_HOOKS指向自定义运行时钩子文件的路径。运行时挂钩是与可执行文件捆绑在一起的代码,在任何其他代码或模块之前执行,以设置运行时环境的特殊功能。此选项可以多次使用
--exclude模块EXCLUDES可选模块或包(Python名称,而不是路径名称)将被忽略(就像找不到一样)。此选项可以多次使用
--splash IMAGE_FILE(实验)将带有图像IMAGE_FILE的启动画面添加到应用程序中。打开包装时,启动画面可以显示进度更新。
如何生成:
-d,--debug{all,import,bootloader,noarchive}提供调试冻结应用程序的帮助。可以多次提供此参数以选择以下几个选项。
-all:以下三个选项。
-import:为底层Python解释器指定-v选项,使其在每次初始化模块时打印一条消息,显示加载它的位置(文件名或内置模块)。请参阅https://docs.python.org/3/使用/cmdline.html#id4.
-bootloader:告诉bootloader在初始化和启动捆绑的应用程序时发出进度消息。用于诊断缺少导入的问题。
-noarchive:与其将所有冻结的Python源文件作为存档存储在生成的可执行文件中,不如将它们作为文件存储在生成输出目录中
--优化用于收集的python模块和脚本的LEVEL字节码优化级别。有关详细信息,请参阅PyInstaller手册中的“字节码优化级别”一节
--python选项python_option指定一个命令行选项,以便在运行时传递给python解释器。目前支持“v”(相当于“--debug import”)、“u”、“W&lt;warning control&gt;”、“X&lt;xoption&gt;”和“hash_sed=&lt;value&gt;”。有关详细信息,请参阅PyInstaller手册中的“指定Python解释器选项”一节
-s、 --strip将符号表条应用于可执行文件和共享库(不建议用于Windows)
--noupx即使可用也不要使用UPX(Windows和*nix之间的工作方式不同)
--UPX exclude FILE使用UPX时防止压缩二进制文件。这通常用于upx在压缩过程中损坏某些二进制文件的情况。FILE是不带路径的二进制文件名。此选项可以多次使用。
Windows和Mac OS X特定选项:
-c、--console、--nowindod打开标准i/o的控制台窗口(默认)。在Windows上,如果第一个脚本是“.pyw”文件,则此选项无效
-w、 --windowed,--noconsole Windows和Mac OS X:不为标准i/o提供控制台窗口。在Mac OS上,这也会触发构建Mac OS.app捆绑包。在Windows上,如果第一个脚本是“.pyw”文件,则会自动设置此选项。此选项在*NIX系统上被忽略
--隐藏控制台{隐藏晚、隐藏早、最小化晚、最小化早}仅限Windows:在启用控制台的可执行文件中,如果程序拥有控制台窗口(即不是从现有控制台窗口启动的),则让引导加载程序自动隐藏或最小化控制台窗口
-i、 --icon <FILE.ico或FILE.exe,ID或FILE.icns或Image或“NONE”> FILE.ico:将图标应用于Windows可执行文件。FILE.exe,ID:从exe中提取带有ID的图标。FILE.icns:将图标应用于Mac OS上的.app捆绑包。如果输入的图像文件不是平台格式(Windows上的ico,Mac上的icns),PyInstaller会尝试使用Pillow将图标转换为正确的格式(如果安装了Pillow)。使用“无”不应用任何图标,从而使操作系统显示一些默认值(默认值:应用PyInstaller的图标)。此选项可以多次使用
--disable-windowed-traceback 禁用窗口式(非控制台)模式(仅限Windows和macOS)下未处理异常的回溯转储,而是显示一条消息,说明此功能已禁用。
Windows特定选项:
--version-file file 将file中的版本资源添加到exe中
--manifest <FILE或XML> 将清单FILE或XML添加到exe中
-m <FILE或XML> 已弃用的--manifest简写
-r, --resource RESOURCE 向Windows可执行文件添加或更新资源。资源是一到四个项目,文件[,类型[,名称[,语言]]]。FILE可以是数据文件或exe/dll。对于数据文件,必须至少指定TYPE和NAME。LANGUAGE默认为0,也可以指定为通配符*,以更新给定TYPE和NAME的所有资源。对于exe/dll文件,如果省略TYPE、NAME和LANGUAGE或将其指定为通配符*,则FILE中的所有资源都将添加/更新到最终的可执行文件中。此选项可以多次使用
--uac-admin使用此选项创建一个清单,该清单将在应用程序启动时请求提升
--uac uiaccess使用此选项允许提升的应用程序与远程桌面一起工作。
Mac OS特定选项:
--argv仿真为macOS应用程序包启用argv仿真。如果启用,引导加载程序将处理初始打开的文档/URL事件,并将传递的文件路径或URL附加到sys.argv
--osx捆绑包标识符bundle_identifier Mac OS.app捆绑包标识符用作代码签名的默认唯一程序名称。通常的形式是反向DNS表示法中的分层名称。例如:com.mycompany.department.apname(默认值:第一个脚本的基名)
--目标架构,--目标arch arch目标架构(仅限macOS;有效值:x86_64、arm64、universal 2)。允许在冻结应用程序的universal2和单拱形版本之间切换(前提是python安装支持目标架构)。如果未指定目标体系结构,则以当前运行的体系结构为目标
--代码签名身份identity代码签名身份(仅限macOS)。使用提供的标识对收集的二进制文件和生成的可执行文件进行签名。如果未提供签名身份,则执行临时签名
--osx权限文件FILENAME权限文件,用于对收集的二进制文件进行代码签名(仅限macOS)。
很少使用的特殊选项:
--runtime tmpdir PATH在“onefile”模式下提取库和支持文件的位置。如果给出此选项,引导加载程序将忽略运行时操作系统定义的任何临时文件夹位置。此处将创建“_MEIxxxxxx”文件夹。请仅在知道自己在做什么的情况下使用此选项。请注意,在POSIX系统上,PyInstaller的引导加载程序不会对给定的路径字符串执行shell风格的环境变量扩展。因此,在路径中使用环境变量(例如“~”或“$HOME”)将不起作用。
--bootloader ignore signals告诉引导加载程序忽略信号,而不是将其转发给子进程。例如,在主管进程向引导加载程序和子进程发出信号(例如,通过进程组)以避免向子进程发出两次信号的情况下很有用。


返回值

返回True,否则返回False。



使用示例:

示例1:

>>>


示例2:

>>>







相关文章:
Python安装包下载:https://www.cnblogs.com/wutou/p/17709685.html
Pip 源设置:https://www.cnblogs.com/wutou/p/17531296.html
pip 安装指定版本模块:https://www.cnblogs.com/wutou/p/17716203.html


参考、来源:
https://blog.csdn.net/weixin_42636075/article/details/143780311







posted @   悟透  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2023-02-03 C中 &=~(3<<24) 和 |=(1<<24) 意思
2021-02-03 Windows不分区VHD装Linux多系统(四):VM虚拟机里Ubuntu18引导修改
2021-02-03 Windows不分区VHD装Linux多系统(三):VM虚拟机安装ubuntu18.04
2021-02-03 Windows不分区VHD装Linux多系统(二):VM创建ubuntu18.04虚拟机
2021-02-03 Windows不分区VHD装Linux多系统(一):创建VHD文件
点击右上角即可分享
微信分享提示