pyinstaller 的用法

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将符号表条应用于可执行文件并
                        共享库

 

posted @ 2020-10-21 16:33  不能说的秘密  阅读(2243)  评论(0编辑  收藏  举报