如何在 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
环境变量设置为非零值。
我使用 --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
环境变量设置为非零值。