原始问题:
我正在 Mac OS X 10.6.7 上构建 Python 2.7.1,并且遇到 Python 退出时(可能是在调用时)模块KeyError
抛出异常的问题。threading
atexit
我无法在任何地方找到正确的答案,并且想知道这里是否有人知道问题可能是什么,以及如何正确编译/配置 Python 以避免这种情况。
产生错误的步骤相对较短:
echo "import threading" | ./python
这将产生以下输出:
Exception KeyError: KeyError(140735086161056,) in <module 'threading' from '/Users/danerik/quantumnotes/qw-control/quantumsource/external-libs/build/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.pyc'> ignored
这个错误很可能是无害的(我没有遇到任何不良影响),但是这个消息是不受欢迎的,我希望它不存在。
答案1
答案2
我遇到的问题是,我有一个来自旧 Python 版本 (2.6.1) 的自定义 Modules/main.c 文件,它污染了我的 2.7.1 版本。虽然几乎相同,但主要区别在于,在 2.6.1 main.c 文件中有一个WaitForThreadShutdown(void)
例程,如果已导入线程模块,它将执行操作。Modules/main.c
然后根据新的 2.7.1 版本制作了一个新的自定义文件,这解决了我的问题。
我的错。