什么会导致编译的python文件(.pyc)丢失其所有内容,但仍可导入?
现在我们的团队已经好几次,在频率,位置或范围上没有明显的模式。
我们看到的唯一一致性是:
['__builtins__', '__doc__', '__file__', '__name__', '__package__']
它似乎是编译空白.py文件的结果。但为什么呢?
更多细节:
因此,加载到不同的口译员可能会“冒险”;它肯定不是至少两个上述问题的原因。
- 我可以指出的另一件事是可能有问题,有时两个解释器实例可能同时运行(在不同的进程中)。即使这是问题(我不确定是这样),它会有解决方法吗?
答案 0 :(得分:0)
在没有任何确凿证据的情况下,我们确定问题出在我们的文件服务器,还是某物。操作系统之间的日期戳可能不同吗?有事
我们现在通过设置 PYTHONDONTWRITEBYTECODE 环境变量来避免该问题,以防止首先生成pyc文件。
编辑:(为bugtracker找到@zhangyangyu的道具!)
另一方面,如果您日后要阅读此书,并且可以选择升级到最新版本的python 2.7,则此错误看起来像是identified back in Sept. 2015(该年晚些时候提交的补丁)-并于2018年11月合并。
该修复程序似乎包含在2.7.16中,该修复程序将于2019年初发布。