PYTHONOPTIMIZ在python解释器中做了什么?

时间:2017-09-13 03:47:47

标签: python supervisor pythoninterpreter

我和supervisor一起运行python任务,当我尝试在python任务中使用mutilprocess时。我遇到了错误

"File/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 124, in start 

'daemonic processes are not allowed to have children'" 

但是我在终端中执行命令"export PYTHONOPTIMIZE=1"之后没关系。任何人都可以告诉我在执行命令"export PYTHONOPTIMIZE=1"时发生的事情

1 个答案:

答案 0 :(得分:2)

PYTHONOPTIMIZE environment variable设置为1与使用-O command line switch相同:

  

删除断言语句和任何基于__debug__值的代码。

您看到的错误消息是AssertionError异常; relevant section of the source code使用assert

assert not _current_process._daemonic, \
       'daemonic processes are not allowed to have children'

因此设置环境变量只会抑制断言。问题本身并没有消失。