我一生都无法弄清楚是什么导致了这个非常奇怪的错误。
我在 Windows 7 的 spyder IDE 中的 python 2.7 中运行脚本。它在某一时刻使用 datetime.datetime.strptime。我可以运行一次代码,它看起来很好(虽然我还没有完成调试,所以已经引发了异常并且它还没有正常完成),然后如果我再次尝试运行它,我会得到以下信息(仅限回溯结束显示):
文件“C:\path\to\test.py”,第 220 行,在 std_imp
self.data[key].append(dt.datetime.strptime(string_var, string_format_var))
ImportError: Failed to import _strptime because the import lock is holded由另一个线程。
我没有使用线程等运行多个线程。让代码通过这一点的唯一方法是完全重新启动计算机。重新启动 spyder 将不起作用。网络搜索似乎没有提供任何其他人发生过这种情况的线索或迹象。
有谁明白发生了什么?这是某种 GIL 问题吗?什么是导入锁,为什么一旦我已经尝试运行一次代码,它似乎会阻止我导入 datetime 模块的这种方法?