在 Mac OS X 上构建 Python 2.7.1,导入线程和 KeyError 异常

在 Mac OS X 上构建 Python 2.7.1,导入线程和 KeyError 异常

原始问题:

我正在 Mac OS X 10.6.7 上构建 Python 2.7.1,并且遇到 Python 退出时(可能是在调用时)模块KeyError抛出异常的问题。threadingatexit

我无法在任何地方找到正确的答案,并且想知道这里是否有人知道问题可能是什么,以及如何正确编译/配置 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

python2.7 的构建来自麦金塔没有这个问题。你可以直接从他们那里得到它,或者尝试将你的配置标志与他们的看看有什么不同。

答案2

我遇到的问题是,我有一个来自旧 Python 版本 (2.6.1) 的自定义 Modules/main.c 文件,它污染了我的 2.7.1 版本。虽然几乎相同,但主要区别在于,在 2.6.1 main.c 文件中有一个WaitForThreadShutdown(void)例程,如果已导入线程模块,它将执行操作。Modules/main.c然后根据新的 2.7.1 版本制作了一个新的自定义文件,这解决了我的问题。

我的错。

相关内容