如何在 python 可执行文件 (exe) 上使用 python 解释器选项“-O”?

How can I use python interpreter option "-O" on python executable file(exe)?

我使用 --onefile 选项通过 pyinstaller 创建了 python exe 文件。 我想在我的 python exe 文件中使用像“-O”这样的解释器选项。 因为我的 python 脚本包含调试标志。

下面是我的代码结构的简化。

# main.py
import sys

if __name__ == '__main__':
    lastIndex = len(sys.argv) - 1
    value1 = sys.argv[lastIndex-1]
    value2 = sys.argv[lastIndex]

    if __debug__:
        print('{} {}'.format(value1, value2))

我 main.exe 使用

pyinstaller --onefile main.py

我尝试在 cmd 上使用 -O 选项执行 main.exe,看起来调试标志不受“-O”的影响

> main.exe -O value1 value2

我能为此做什么?

文档说

通过将 PyInstaller 作为 Python 模块执行,而不是使用pyinstaller 命令:

# run with basic optimizations
python -O -m PyInstaller myscript.py 
# also discard docstrings
python -OO -m PyInstaller myscript.py 

或者,通过明确地将 PYTHONOPTIMIZE 环境变量设置为非零值。