Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁用Python基本优化(-O)_Python_Debugging - Fatal编程技术网

禁用Python基本优化(-O)

禁用Python基本优化(-O),python,debugging,Python,Debugging,在给定的嵌入式Linux机器上,我安装了一个Python 3.3发行版,它似乎默认启用了优化选项-O。 这有以下影响: 正在生成.pyo文件(而不是.pyc) assert语句无效 \uuuu调试\uuuu设置为False 某些IDE似乎无法提供远程调试(请参阅) 有没有办法在命令行上禁用基本优化?我试图将PYTHONOPTIMIZE设置为空字符串,但这没有任何效果。我使用的Python发行版附带了Yocto,默认情况下基本优化在那里被激活(Py\u OptimizeFlag硬编码为1,而不

在给定的嵌入式Linux机器上,我安装了一个Python 3.3发行版,它似乎默认启用了优化选项
-O
。 这有以下影响:

  • 正在生成
    .pyo
    文件(而不是
    .pyc
  • assert
    语句无效
  • \uuuu调试\uuuu
    设置为
    False
  • 某些IDE似乎无法提供远程调试(请参阅)

有没有办法在命令行上禁用基本优化?我试图将
PYTHONOPTIMIZE
设置为空字符串,但这没有任何效果。

我使用的Python发行版附带了Yocto,默认情况下基本优化在那里被激活(
Py\u OptimizeFlag
硬编码为
1
,而不是
0

该版本的Python还附带了一个额外的
-N
标志(在通常的Python发行版中没有记录)


因此,我的问题的答案是要么设置
-N
命令行选项,要么对Yocto附带的Python源代码应用补丁并重新编译(正如Karoly Horvath所建议的那样)。

作为一种解决方法,您可以安装自己的Python。这很奇怪,因为我在配置Python 3.3脚本中找不到这样的选项。您是否仔细检查了使用
env
printenv
的环境,并确保没有使用强制使用-O选项的包装器?我刚刚发现了一个应用于Python3.3.3源代码的补丁,以便在默认情况下激活优化。该发行版基于Yocto,并附带该补丁。