1. 当前位置:网站首页 > Python

Nuitka使用指南


试试另一种python的打包程序,特此记录一下

需要安装windows下的GCC软件

我这里安装的是V11.3版本(最好用迅雷下载,要不打不开或者太慢)
下载地址:https://github.com/brechtsanders/winlibs_mingw/releases/download/11.3.0-14.0.3-10.0.0-msvcrt-r3/winlibs-x86_64-posix-seh-gcc-11.3.0-llvm-14.0.3-mingw-w64msvcrt-10.0.0-r3.zip

解压后配置环境变量,安装位置+文件包+bin

出现版本号为正确

C:\Users\liuyang>gcc --version
gcc (MinGW-W64 x86_64-posix-seh, built by Brecht Sanders) 11.3.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

安装nuitka
我这里使用的pipenv环境,使用pipenv shell 进入到目录中执行,看网上的消息,使用多环境好像会出问题

pip install nuitka        # 我这里安装的是1.6.5【目前最新】
pip install ordered-set   # 提高编译性能4.1.0  【最新的已经自动安装了】

编译,这里Cmake会自动下载就1.5mb、depends22_x64大小400k就不另外下载配置了(只有第一次会安装)

# 常用命令说明
--mingw64                    指定mingw编译(官方建议)
--standalone                 自带环境模式,输出文件夹形式的命令,及运行目录包含.so或者.dll    
--onefile                    在独立模式之上,输入单文件的形式命令,及包含内所有的类库,只有单文件.bin或者.exe  【当有这个指令时可以不用带--standalone 会自动生成两种包,并且包的大小要小很多】
--disable-console, --macos-disable-console, --windows-disable-console  当编译GUI时禁用CMD控制窗口,按照操作系统选择。
--output-dir=out             生成包到out文件夹下面去
--show-progress              显示编译的进度,很直观
--show-memory                显示内存的占用
--windows-icon-from-ico=logo.ico     你的.ico 软件的图标
--windows-company-name=              Windows下软件公司信息  【测试填入无效】
--windows-product-name=              Windows下软件名称
--windows-file-version=1.0.0.0       Windows下软件的信息 1.0.0.0,只允许使用此格式。
--windows-product-version=1.0.0.0    Windows下软件的产品信息1.0.0.0,只允许使用此格式
--windows-file-description=          Windows下软件的作用描述
--windows-uac-admin                 Windows下用户可以使用管理员权限来运行

--enable-plugin=pyside6        启用PySide6

--include-package=复制比如numpy,PyQt5 这些带文件夹的叫包、轮子、自定义包
--include-module=导入一些动态加载的py文件

Linxu下未测试(记录)
--linux-onefile-icon=Linux下的图标位置

--force-stdout-spec=FORCE_STDOUT_SPEC, --windows-force-stdout-spec=FORCE_STDOUT_SPEC  强制程序的标准输出到此位置。适用于禁用控制台的程序和使用Nuitka商业版Windows服务插件的程序。默认为非活动,例如使用“%PROGRAM%.out.txt”,即程序附近的文件。
--force-stderr-spec=FORCE_STDERR_SPEC, --windows-force-stderr-spec=FORCE_STDERR_SPEC  强制程序的标准错误到此位置。适用于禁用控制台的程序和使用Nuitka商业版Windows服务插件的程序。默认为非活动,例如使用“%PROGRAM%.err.txt”,即程序附近的文件。

--include-data-files=DESC        在分发中按文件名包括数据文件。允许的形式有很多。使用“--include data files=/path/to/file/*.txt=folder_name/some.txt”,它将复制一个文件,如果是多个文件,则会抱怨。使用“--include data files=/path/to_files/*.txt=folder_name/”,它会将所有匹配的文件放入该文件夹。对于递归复制,有一个具有3个值的表单“--include data files=/path/to/scan=folder_name=**/*.txt”,将保留目录结构。默认为空
--include-data-dir=DIRECTORY     在分发中包括完整目录中的数据文件。这是递归的。如果您想要非递归包含,请使用模式检查“--include data files”。一个例子是整个目录的“--include data dir=/path/some_dir=data/some_dir”(用于纯拷贝)。所有文件都将被复制,如果要排除文件,则需要事先将其删除,或者使用“--noinclude data files”选项将其删除。默认值为空。
# windows下经常用的命令
nuitka --mingw64 --standalone --windows-disable-console --show-progress --show-memory --plugin-enable=pyside6 --windows-icon-from-ico=logo.ico --windows-product-name=上位机 --windows-file-version=1.0.0.1 --windows-product-version=1.0.0.2 --windows-file-description=一个软件的说明 --windows-uac-admin --output-dir=out main.py
# windows下单文件模式+管理员模式
nuitka --mingw64 --onefile --windows-disable-console --show-progress --show-memory --plugin-enable=pyside6 --windows-icon-from-ico=logo.ico --windows-product-name=上位机 --windows-file-version=1.0.0.1 --windows-product-version=1.0.0.2 --windows-file-description=一个软件的说明 --windows-uac-admin --output-dir=out demo.py
# 带运行日志
nuitka --mingw64 --onefile --windows-disable-console --show-progress --show-memory --plugin-enable=pyside6 --windows-icon-from-ico=logo.ico --windows-product-name=上位机 --windows-file-version=1.0.0.1 --windows-product-version=1.0.0.2 --windows-file-description=一个软件的说明 --windows-uac-admin --windows-force-stdout-spec=%PROGRAM%.out.txt --windows-force-stderr-spec=%PROGRAM%.err.txt --output-dir=out demo.py

插件列表说明

 anti-bloat        Patch stupid imports out of widely used library modules source codes.
 data-files        Include data files specified by package configuration files.
 delvewheel        Required for 'support' of delvewheel using packages in standalone mode.
 dill-compat       Required for 'dill' package compatibility.
 dll-files         Include DLLs as per package configuration files.
 enum-compat       Required for Python2 and 'enum' package.
 eventlet          Support for including 'eventlet' dependencies and its need for 'dns' package monkey patching.
 gevent            Required by the 'gevent' package.
 gi                Support for GI package typelib dependency.
 glfw              Required for OpenGL and 'glfw' package in standalone mode.
 implicit-imports  Provide implicit imports of package as per package configuration files.
 kivy              Required by 'kivy' package.
 matplotlib        Required for 'matplotlib' module.
 multiprocessing   Required by Python's 'multiprocessing' module.
 no-qt             Disable all Qt bindings for standalone mode.
 options-nanny     Inform the user about potential problems as per package configuration files.
 pbr-compat        Required by the 'pbr' package in standalone mode.
 pkg-resources     Workarounds for 'pkg_resources'.
 pmw-freezer       Required by the 'Pmw' package.
 pylint-warnings   Support PyLint / PyDev linting source markers.
 pyqt5             Required by the PyQt5 package.
 pyqt6             Required by the PyQt6 package for standalone mode.
 pyside2           Required by the PySide2 package.
 pyside6           Required by the PySide6 package for standalone mode.
 pywebview         Required by the 'webview' package (pywebview on PyPI).
 tk-inter          Required by Python's Tk modules.
 trio              Required for 'trio' package.
 upx               Compress created binaries with UPX automatically.

全面的参数说明

选项:
 --version                   显示错误报告的版本信息和重要详细信息,然后退出。默认为关闭。
 -h, --help                  显示此帮助消息并退出
--module                     创建一个可执行的扩展模块,而不是一个程序。默认为关闭。
--standalone                 为输出启用独立模式。这允许您在不使用现有Python安装的情况下将创建的二进制文件传输到其他机器。这也意味着它将变得更大。它暗示了以下选项:"--follow imports"和"--python flag=no_site"。默认为关闭。
--onefile                    在独立模式之上,启用onefile模式。这意味着不是一个文件夹,而是一个压缩的可执行文件被创建和使用。默认为关闭。
--python-debug               是否使用调试版本。Default使用您正在使用的来运行Nuitka,很可能是非调试版本。
--python-flag=FLAG           要使用的Python标志。默认值是您用来运行Nuitka的内容,这会强制执行特定的模式。这些选项也存在于标准Python可执行文件中。当前支持:"-S"(别名"no_site")、"static_hashes"(不使用哈希随机化)、"no_warnings"(不给出Python运行时警告)、"-O"(别名为"no_assels")、"no_docstring"(不使用文档字符串)、"-u"(别名为"unbuffered")和"-m"。默认为空。

控制Nuitka发出的警告:
--warn-implicit-exceptions   对编译时检测到的隐式异常启用警告。
--warn-unusual-code          对编译时检测到的异常代码启用警告。
--assume-yes-for-downloads   如果需要,允许Nuitka下载外部代码,例如依赖walker、ccache,甚至Windows上的gcc。要禁用、重定向来自nul设备的输入,例如“</dev/null”或“<NUL:”。默认为提示。
--nowarn-mnemonic=MNEMONIC   禁用给定助记符的警告。这些是为了确保你了解某些主题,通常指向Nuitka网站。助记符是URL末尾的一部分,没有HTML后缀。可以多次给定并接受shell模式。默认为空。

控制模块和包的包含结果:
--include-package=PACKAGE    导包移除包,例如“some_package.sub_package”,然后Nuitka会找到它,并将它和在该磁盘位置下找到的所有模块包括在它创建的二进制或扩展模块中,并使其可供代码导入。为了避免不需要的子包,例如测试,你可以这样做“--nofollow import To=*.tests”。默认为空。
--include-module=MODULE      导单个模块。给出一个Python命名空间,例如“some_package.some_module”,然后Nuitka会找到它,并将其包含在它创建的二进制或扩展模块中,并使其可由代码导入。默认为空
--include-plugin-directory=MODULE/PACKAGE  还包括在该目录中找到的代码,将它们视为一个主文件。覆盖所有其他包含选项。你应该更喜欢其他包含选项,这些选项以名称而不是文件名命名,因为这总是包含太多内容,并且通过在“sys.path”中查找内容。可以多次给定。默认为空。
--include-plugin-files=PATTERN  包括在与图案匹配的文件中。覆盖所有其他跟随选项。可以多次给定。默认为空
--prefer-source-code            对于已经编译的扩展模块,其中既有源文件又有扩展模块,通常使用扩展模块,但最好从可用的源代码编译模块以获得最佳性能。如果不需要,则有--no-preferred源代码来禁用有关它的警告。默认关闭

将以下内容控制到导入的模块中:
--follow-stdlib              还可以从标准库中导入模块。这将大大增加编译时间。默认为关闭。
--nofollow-imports            当使用--nofollow导入时,根本不进入任何导入的模块,覆盖所有其他包含选项。默认为关闭。
--follow-imports              当使用--follow导入时,尝试下降到所有导入的模块中。默认为关闭。
--follow-import-to=MODULE/PACKAGE  如果使用该模块,请遵循该模块;如果是一个包,请遵循整个包。可以多次给定。默认为空。
--nofollow-import-to=MODULE/PACKAGE 即使使用该模块名称,也不要跟随该模块名称;或者,如果包名称在任何情况下覆盖整个包,则覆盖所有其他选项。可以多次给定。默认为空。

Data files:
--include-package-data=PACKAGE  包括给定包名称的数据文件。可以使用图案。默认情况下,Nuitka不会这样做,除非硬编码并且对包的操作至关重要。这将包括分布中的所有非DLL、非扩展模块。默认为空。
--include-data-files=DESC        在分发中按文件名包括数据文件。允许的形式有很多。使用“--include data files=/path/to/file/*.txt=folder_name/some.txt”,它将复制一个文件,如果是多个文件,则会抱怨。使用“--include data files=/path/to_files/*.txt=folder_name/”,它会将所有匹配的文件放入该文件夹。对于递归复制,有一个具有3个值的表单“--include data files=/path/to/scan=folder_name=**/*.txt”,将保留目录结构。默认为空
--include-data-dir=DIRECTORY     在分发中包括完整目录中的数据文件。这是递归的。如果您想要非递归包含,请使用模式检查“--include data files”。一个例子是整个目录的“--include data dir=/path/some_dir=data/some_dir”(用于纯拷贝)。所有文件都将被复制,如果要排除文件,则需要事先将其删除,或者使用“--noinclude data files”选项将其删除。默认值为空。
--noinclude-data-files=PATTERN   不要包含与给定文件名模式匹配的数据文件。这是针对目标文件名,而不是源路径。因此,忽略包数据中的文件模式,“package_name”应匹配为“package_name/*.txt”。默认值为空。

DLL文件:
--noinclude-dlls=PATTERN         不要包含与给定文件名模式匹配的DLL文件。这是针对目标文件名,而不是源路径。因此,忽略包“package_name”中包含的DLL“someDLL”,它应该匹配为“package_name/someDLL.*”。默认值为空。

编译后立即执行:
--run                          立即执行创建的二进制文件(或导入编译后的模块)。默认为关闭。
--debugger, --gdb              在调试器内部执行,例如“gdb”或“lldb”,以自动获取堆栈跟踪。默认为关闭。
--execute-with-pythonpath      当立即执行创建的二进制文件(“--execute”)时,不要重置“PYTHONPATH”环境。当所有模块都成功包含在内时,您就不需要PYTHONPATH了。

内部树的转储选项:
--xml                          将优化的最终结果转储为XML,然后退出。

编译选项:
--user-package-configuration-file=USER_YAML  用户提供的带有包配置的Yaml文件。您可以包括DLL、删除膨胀、添加隐藏的依赖项。有关要使用的格式的完整说明,请参阅《用户手册》。可以多次给定。默认为空。
--disable-bytecode-cache      不要重复使用模块的依赖性分析结果,特别是。来自标准库,作为字节码包含。
--full-compat             强制执行与CPython的绝对兼容性。甚至不允许与CPython行为发生微小偏差,例如,没有更好的回溯或异常消息,这些消息并非真正不兼容,只是不同或更糟。这仅用于测试,不应使用。
--file-reference-choice=MODE   选择“__file__”的值。对于“运行时”(独立二进制模式和模块模式的默认值),创建的二进制文件和模块,使用其自身的位置来扣除“__file___”的值。包含的包假装在该位置下方的目录中。这允许您在展开中包含数据文件。如果您只是寻求加速,最好使用“原始”值,即将使用源文件位置的值。在“冻结”的情况下,会使用符号“<冻结模块名称>”。出于兼容性原因,“__file__”值将始终具有“.py”后缀,而与实际值无关。
--module-name-choice=MODE    选择“__name__”和“__package__”的值。使用“运行时”(模块模式的默认值),创建的模块使用父包来推导“__package __”的完全兼容值。值“原始”(其他模式的默认)允许进行更多的静态优化,但对于通常可以加载到任何包中的模块来说都是不兼容的。

输出选项:
-o FILENAME             指定应如何命名可执行文件。对于扩展模块没有选择,对于独立模式也没有选择,使用它将是一个错误。这可能包括需要存在的路径信息。在此平台上默认为“<program_name>”。exe
--output-dir=DIRECTORY  指定中间输出文件和最终输出文件的放置位置。DIRECTORY将填充C文件、对象文件等。默认为当前目录。
--remove-output         生成模块或exe文件后删除生成目录。默认为关闭。
--no-pyi-file           不要为Nuitka创建的扩展模块创建“.piy”文件。这用于检测隐式导入。默认为关闭。

调试功能:
--debug               在Nuitka中执行所有可能的自检以查找错误,不用于生产。默认为关闭。
--unstriped           在生成的对象文件中保留调试信息,以便更好地进行调试器交互。默认为关闭。
--profile             启用基于vmprof的花费时间分析。当前不工作。默认为关闭。
--internal-graph       创建优化过程内部的图形,不用于整个程序,只用于小的测试用例。默认为关闭。
--trace-execution     跟踪执行输出,在执行之前输出代码行。默认为关闭。
--recompile-c-only    这不是增量编译,而是仅用于Nuitka开发。获取现有文件,然后简单地将它们重新编译为C。允许编译经过编辑的C文件,以便快速调试对生成的源代码的更改,例如查看是否传递了代码、值输出等,默认为关闭。取决于编译Python源代码来确定应该查看哪些文件。
--generate-c-only    只生成C源代码,不将其编译为二进制或模块。这是为了调试和代码覆盖率分析,不会浪费CPU。默认为关闭。不要认为您可以直接使用此选项。
--experimental=FLAG   使用声明为“实验性”的功能。如果代码中没有实验特性,则可能没有任何效果。每个实验功能都使用秘密标签(检查源)。
--low-memory           通过分叉更少的C编译作业和使用使用更少内存的选项,尝试使用更少的内存。用于嵌入式机器。在内存不足的情况下使用此选项。默认为关闭。
--disable-dll-dependency-cache  禁用依赖项助行器缓存。将导致创建分发文件夹的时间更长,但可能会在怀疑缓存会导致错误的情况下使用。
--force-dll-dependency-cache-update 用于更新依赖项助行器缓存。将导致创建分发文件夹的时间更长,但可能会用于怀疑缓存会导致错误或已知需要更新的情况。

后端C编译器选择:
--clang    强制使用叮当声。在Windows上,这需要一个工作的Visual Studio版本才能搭载。默认值为off
--mingw64  在Windows上强制使用MinGW64。默认为关闭。
--msvc=MSVC_VERSION 在Windows上强制使用特定的MSVC版本。允许的值例如为“14.3”(MSVC 2022)和其他MSVC版本号,指定“list”作为已安装编译器的列表,或使用“latest”。如果已安装,则默认为使用的最新MSVC,否则使用MinGW64。
-j N, --jobs=N   指定允许的并行C编译器作业数。默认为系统CPU计数
--lto=choice   使用链接时间优化(MSVC、gcc、clang)。允许的值有“是”、“否”和“自动”(当已知有效时)。默认为“自动”。
--static-libpython=choice  使用Python的静态链接库。允许的值有“是”、“否”和“自动”(当已知有效时)。默认为“自动”。
--disable-ccache  不要尝试使用ccache(gcc、clang等)或clcache(MSVC、clangcl)。

PGO编译选项:
--pgo   通过首先为分析运行执行专用构建,然后使用结果反馈到C编译中,启用C级配置文件引导优化(PGO)。注意:这是实验性的,还不适用于Nuitka的独立模式。默认为关闭。
--pgo-args=PGO_ARGS   在配置文件引导优化的情况下要传递的参数。在PGO分析运行期间,这些文件被传递给特殊构建的可执行文件。默认为空。
--pgo-executable=PGO_EXECUTABLE  收集配置文件信息时要执行的命令。仅当您需要通过准备运行的脚本启动它时才使用此选项。默认使用创建的程序。

跟踪功能:
--quiet       禁用所有信息输出,但显示警告。默认为关闭。
--show-scons  在非安静模式下操作Scons,显示执行的命令。默认为关闭。
--show-progress  提供进度信息和统计数据。默认为关闭。
--no-progressbar 禁用进度条。默认为关闭。
--show-memory   提供内存信息和统计信息。默认为关闭。
--show-modules  提供包含的模块和DLL的信息默认为关闭。
--show-modules-output=PATH  输出位置——显示模块,应该是一个文件名。默认为标准输出。
--report=COMPILATION_REPORT_FILENAME  报告模块、数据文件、XML输出文件中的编译详细信息。默认为禁用。
--verbose   输出所采取操作的详细信息,特别是在优化中。可以变得很多。默认为关闭。
--verbose-output=PATH  输出位置——verbose,应该是一个文件名。默认为标准输出。

一般操作系统控制:
--disable-console, --macos-disable-console, --windows-disable-console  为Windows或macOS编译时,请禁用控制台窗口并创建GUI应用程序。默认为关闭。
--enable-console  为Windows或macOS编译时,请启用控制台窗口并创建控制台应用程序。这会禁用某些模块的提示,例如建议禁用它的“PySide”。默认值为true。
--force-stdout-spec=FORCE_STDOUT_SPEC, --windows-force-stdout-spec=FORCE_STDOUT_SPEC  强制程序的标准输出到此位置。适用于禁用控制台的程序和使用Nuitka商业版Windows服务插件的程序。默认为非活动,例如使用“%PROGRAM%.out.txt”,即程序附近的文件。
--force-stderr-spec=FORCE_STDERR_SPEC, --windows-force-stderr-spec=FORCE_STDERR_SPEC  强制程序的标准错误到此位置。适用于禁用控制台的程序和使用Nuitka商业版Windows服务插件的程序。默认为非活动,例如使用“%PROGRAM%.err.txt”,即程序附近的文件。

Windows特定
--windows-icon-from-ico=ICON_PATH   添加可执行文件图标。对于不同的分辨率或内部有多个图标的文件,可以多次给定。在后面的情况下,您还可以使用#<n>后缀,其中n是从1开始的整数索引,指定要包括的特定图标,以及要忽略的所有其他图标。
--windows-icon-from-exe=ICON_EXE_PATH  从此现有可执行文件复制可执行文件图标(仅限Windows)。
--onefile-windows-splash-screen-image=SPLASH_SCREEN_IMAGE  为Windows和onefile编译时,请在加载应用程序时显示此信息。默认为关闭。
--windows-uac-admin  请求Windows用户控制,以在执行时授予管理员权限。(仅限Windows)。默认为关闭。
--windows-uac-uiaccess   请求Windows用户控制,以强制仅从几个文件夹运行,远程桌面访问。(仅限Windows)。默认为关闭。
--windows-company-name=WINDOWS_COMPANY_NAME  要在Windows版本信息中使用的公司的名称。当需要添加版本资源时,需要文件或产品版本之一,例如指定产品名称或公司名称。默认为未使用。
--windows-product-name=WINDOWS_PRODUCT_NAME  要在Windows版本信息中使用的产品的名称。默认为二进制文件的基本文件名。
--windows-file-version=WINDOWS_FILE_VERSION  要在Windows版本信息中使用的文件版本。必须是最多4个数字的序列,例如1.0.0.0,只允许使用此格式。当需要添加版本资源时,需要文件或产品版本之一,例如指定产品名称或公司名称。默认为未使用。
--windows-product-version=WINDOWS_PRODUCT_VERSION   要在Windows版本信息中使用的产品版本。必须是最多4个数字的序列,例如1.0.0.0,只允许使用此格式。当需要添加版本资源时,需要文件或产品版本之一,例如指定产品名称或公司名称。默认为未使用。
--windows-file-description=WINDOWS_FILE_DESCRIPTION Windows版本信息中的文件使用说明。当需要添加版本资源时,需要文件或产品版本之一,例如指定产品名称或公司名称。默认为无意义。
--onefile-tempdir-spec=ONEFILE_TEMPDIR_SPEC  将其用作临时文件夹。默认为“%TEMP%\onefile_%PID%_%TIME%”,即系统临时目录。

MACOS特定
--macos-target-arch=MACOS_TARGET_ARCH   这应该在什么架构上运行。默认和限制是运行Python所允许的。默认值为“native”,这是运行Python的体系结构。
--macos-create-app-bundle   为macOS编译时,请创建捆绑包,而不是纯二进制应用程序。目前是实验性的和不完整的。目前,这是解锁控制台禁用的唯一方法。默认为关闭。
--macos-app-icon=ICON_PATH  添加要使用的应用程序捆绑包的图标。只能给出一次。默认为Python图标(如果可用)。
--macos-signed-app-name=MACOS_SIGNED_APP_NAME  用于macOS签名的应用程序的名称。遵循“com.YourCompany.AppName”命名结果以获得最佳结果,因为这些结果必须是全局唯一的,并且可能会授予受保护的API访问权限。
--macos-app-name=MACOS_APP_NAME   要在macOS捆绑包信息中使用的产品的名称。默认为二进制文件的基本文件名。
--macos-sign-identity=MACOS_APP_VERSION  在macOS上登录时,默认情况下将使用特别标识,但通过此选项,您可以指定另一个要使用的标识。代码的签名现在在macOS上是强制性的,不能被禁用。默认为“-”,如果未给定,则表示特别。
--macos-app-version=MACOS_APP_VERSION  要在macOS捆绑包信息中使用的产品版本。如果未给定,则默认为“1.0”。
--macos-app-protected-resource=RESOURCE_DESC 请求访问macOS保护的资源,例如“NSMicrophoneUsageDescription:Microphone access for ecording audio”。请求访问麦克风并为用户提供信息文本,说明为什么需要这样做。冒号之前是访问权限的操作系统标识符,然后是信息文本。法律价值可在https://developer.apple.com/documentation/bundleresources/information_property_list/p protected_resources和该选项可以指定多次。默认为空。

Linux特定
--linux-icon=ICON_PATH, --linux-onefile-icon=ICON_PATH  为要使用的onefile二进制文件添加可执行图标。只能给出一次。默认为Python图标(如果可用)。

插件
--enable-plugin=PLUGIN_NAME, --plugin-enable=PLUGIN_NAME  已启用插件。必须是插件名称。使用--plugin-list查询完整列表并退出。默认为空。
--disable-plugin=PLUGIN_NAME, --plugin-disable=PLUGIN_NAME 禁用的插件。必须是插件名称。使用--plugin-list查询完整列表并退出。默认为空。
--plugin-no-detection   插件可以检测它们是否可能被使用,您可以通过“--disable-plugin=plugin-that warnings”禁用警告,也可以使用此选项完全禁用该机制,这当然也会稍微加快编译速度,因为一旦您确定要使用哪些插件,此检测代码就会徒劳运行。默认为关闭。
--plugin-list  显示所有可用插件的列表并退出。默认为关闭。
--user-plugin=PATH  用户插件的文件名。可以多次给定。默认为空。
--show-source-changes  在编译之前显示对原始Python文件内容的源代码更改。主要用于开发插件。默认为False。

--show-anti-bloat-changes    注释插件所做的更改。
--noinclude-setuptools-mode=NOINCLUDE_SETUPTOOLS_MODE  如果遇到“setuptools”或导入,该怎么办。这个包可能有很大的依赖性,绝对应该避免。还处理“setuptools_scm”。
--noinclude-pytest-mode=NOINCLUDE_PYTEST_MODE  如果遇到“pytest”导入,该怎么办。这个包可能有很大的依赖性,绝对应该避免。还处理“鼻子”进口。
--noinclude-unittest-mode=NOINCLUDE_UNITTEST_MODE  如果遇到单元测试导入,该怎么办。这个包可能有很大的依赖性,绝对应该避免。
--noinclude-IPython-mode=NOINCLUDE_IPYTHON_MODE 如果遇到IPython导入,该怎么办。这个包可能有很大的依赖性,绝对应该避免。
--noinclude-default-mode=NOINCLUDE_DEFAULT_MODE  这实际上为上述选项提供了默认的“警告”值,并可用于打开所有这些选项。
--noinclude-custom-mode=CUSTOM_CHOICES   如果遇到特定导入,该怎么办。格式是模块名称,可以也应该是顶级包,然后选择一个选项,“error”、“warning”、“nofollow”,例如PyQt5:error。

本文最后更新于2023-5-26,已超过 3个月没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
版权说明

本文地址:http://www.liuyangdeboke.cn/?post=47
未标注转载均为本站远程,转载请注明文章出处:

发表评论

联系我们

在线咨询:点击这里给我发消息

微信号:17721538135

工作日:9:00-23:00,节假日休息

扫码关注