我们正在运行一个HPC群集,其中有许多Python实例都在同一个virtualenv目录中运行。我们很少在导入时使用EOFErrors获取Tracebacks(通常在stdlib导入时)。
Traceback (most recent call last):
File "../env/lib/python2.7/site.py", line 67, in <module>
import os
File "../env/lib/python2.7/os.py", line 398, in <module>
import UserDict
File "../env/lib/python2.7/UserDict.py", line 83, in <module>
import _abcoll
File "../env/lib/python2.7/_abcoll.py", line 11, in <module>
from abc import ABCMeta, abstractmethod
File "../env/lib/python2.7/abc.py", line 8, in <module>
from _weakrefset import WeakSet
EOFError: EOF read where object expected
我在网上搜索过,大多数人发现讨论提示pyc file compilation是问题,所以我在构建管道的开头添加了compile.compileall('.')
,现在我确信每个文件都有相应的.pyc文件。关于还有什么要检查的任何想法?
我无法提供可重复的示例,因为它只在高度并发的条件下不经常发生。
类似的SO问题: