【问题标题】:what does PYTHONOPTIMIZE do in the python interpreter?PYTHONOPTIMIZE 在 python 解释器中做了什么?
【发布时间】:2018-02-21 15:11:56
【问题描述】:

我使用主管运行 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"时发生了什么

【问题讨论】:

标签: python environment-variables supervisord


【解决方案1】:

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'

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

【讨论】:

    猜你喜欢
    • 2017-05-04
    • 2019-10-02
    • 2019-01-13
    • 2020-10-13
    • 2018-12-04
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    相关资源
    最近更新 更多