1,pyinstaller
简单来说,就是把python脚本打包成exe文件。
2,安装pyinstaller
pip3 install pyinstaller
3,注意事项
除非必要,否则尽量不要直接import module,用from xxx import xxx来代替,减少打包需要加载的模块,
缩减最终的exe体积
4,用法
usage: 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] [--additional-hooks-dir HOOKSPATH] [--runtime-hook RUNTIME_HOOKS] [--exclude-module EXCLUDES] [--key KEY] [-d {all,imports,bootloader,noarchive}] [-s] [--noupx] [--upx-exclude FILE] [-c] [-w] [-i <FILE.ico or FILE.exe,ID or FILE.icns>] [--version-file FILE] [-m <FILE or XML>] [-r RESOURCE] [--uac-admin] [--uac-uiaccess] [--win-private-assemblies] [--win-no-prefer-redirects] [--osx-bundle-identifier BUNDLE_IDENTIFIER] [--runtime-tmpdir PATH] [--bootloader-ignore-signals] [--distpath DIR] [--workpath WORKPATH] [-y] [--upx-dir UPX_DIR] [-a] [--clean] [--log-level LEVEL] scriptname [scriptname ...]
positional arguments:
scriptname 要处理的脚本文件的名称或正好一个.spec文件。 如果指定了.spec文件,则大多数选项是不必要的,将被忽略。
可选参数: -h,--help显示此帮助消息并退出 -v,--version显示程序版本信息并退出。 --distpath DIR放置捆绑的应用程序的位置(默认值:。 dist) --workpath WORKPATH将所有临时工作文件,.log,.pyz放在哪里 等(默认值:。 build) -y,--noconfirm替换输出目录(默认值: SPECPATH dist SPECNAME)而不要求 确认 --upx-dir UPX_DIR UPX实用程序的路径(默认值:搜索执行) 路径) -a,-ascii不包括unicode编码支持(默认值: 包括(如果有) --clean清理PyInstaller缓存并删除临时文件 在建造之前。 --log-level LEVEL生成时控制台消息中的详细信息量。水平 可能是TRACE,DEBUG,INFO,WARN,ERROR, 严重(默认:INFO)。 产生什么: -D,--onedir创建一个包含可执行文件的单文件夹捆绑包 (默认) -F,--onefile创建一个文件捆绑的可执行文件。 --specpath DIR文件夹,用于存储生成的规范文件(默认值: 当前目录) -n NAME,--name NAME分配给捆绑的应用程序和规范文件的名称 (默认值:第一个脚本的基本名称) 捆绑内容,搜索位置: --add-data <SRC; DEST或SRC:DEST> 要添加到的其他非二进制文件或文件夹 可执行文件。路径分隔符是平台 特定的`os.pathsep``(在Windows上是``;`` 和``:``在大多数Unix系统上)。这个选项 可以多次使用。 --add-binary <SRC; DEST或SRC:DEST> 要添加到可执行文件的其他二进制文件。 有关更多详细信息,请参见--add-data选项。这个 该选项可以多次使用。 -p DIR,--paths DIR搜索导入的路径(例如使用PYTHONPATH)。 允许使用多个路径,以“;”分隔,或使用 此选项多次 --hidden-import MODULENAME,-hiddenimport MODULENAME 命名在代码中不可见的导入 脚本。此选项可以多次使用。 --additional-hooks-dir HOOKSPATH 搜索钩子的其他路径。这个选项 可以多次使用。 --runtime-hook RUNTIME_HOOKS 定制运行时挂钩文件的路径。运行时挂钩是 与可执行文件捆绑在一起的代码是 在设置任何其他代码或模块之前执行 运行时环境的特殊功能。这个 该选项可以多次使用。 --exclude-module排除 可选模块或软件包(Python名称,而不是 路径名称)将被忽略(好像不是) 找到)。此选项可以多次使用。 --key KEY用于加密Python字节码的密钥。 如何产生: -d {all,imports,bootloader,noarchive},--debug {all,imports,bootloader,noarchive} 提供调试冻结的协助 应用。可以多次提供此参数 选择以下几个选项的时间。 -全部:以下所有三个选项。 -导入:为基础指定-v选项 Python解释器,导致其打印消息 每次模块初始化时,显示 来源(文件名或内置模块) 已加载。看到 https://docs.python.org/3/using/cmdline.html#id4。 -自举程序:告诉自举程序发出进度 初始化并启动 捆绑的应用。用于诊断问题 缺少进口。 -存档:而不是存储所有冻结的Python 源文件作为结果中的存档 可执行文件,将它们存储为文件 输出目录。 -s,--strip将符号表条应用于可执行文件并 共享库