1

我已经将我的系统更新到 OS X Mavericks,就在我尝试使用 hashlib 模块时,引发了一个奇怪的分段错误。我试图重建 python3.3.2 并重新安装它,但它没有帮助。那么我该如何解决这个烦人的问题呢?输出如下所示:

ZZ:Python-3.3.2 zhangzhao$ python3
Python 3.3.2 (default, Oct 28 2013, 16:27:26) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import hashlib
>>> a = hashlib.md5()
Segmentation fault: 11
4

3 回答 3

3

Python 3.3.2 和 Mavericks 存在已知问题。请尝试Python 3.3.3rc1,因为这可能会解决这些问题:

此版本完全支持 OS X 10.9 Mavericks。特别是,此版本修复了一个问题,该问题可能导致以前版本的 Python 在 OS X 10.9 上以交互模式输入时崩溃

于 2013-10-28T17:14:22.633 回答
1

我遇到了同样的问题并在这里找到了答案:osx mavericks 上的 python3 分段错误

------> 因为这个错误而存在这个问题:http://bugs.python.org/issue18458

基本上,Python 在 Modules/readline.c 中有代码,其中包含 libedit 中的错误的解决方法,但是 libedit 中的错误已修复,并且 Mavericks 附带了新版本的 libedit 并且解决方法现在导致 ython 出现段错误。快速而肮脏的修复是通过运行以下命令(来自错误文档)禁用截止日期处理:

curl -O http://bugs.python.org/file32324/patch_readline_issue_18458.sh openssl sha1 patch_readline_issue_18458.sh # 摘要应该是 7cb0ff57820a027dd4ca242eb2418930f8f46b4c sudo sh ./patch_readline_issue_18458.sh

<------------

于 2013-10-28T17:14:26.803 回答
0

OSX Mavericks 10.9 的 Python2.7.5 和 python3.3.2 都会出现同样的问题。这让我发疯了。我什至不能在不使解释器崩溃的情况下分配然后调用一个简单的变量。

>>> a = 7
>>> a
Segmentation fault: 11  

这是 issue18458 中讨论的错误

OSX Mavericks 的修补版本可以分别在下面找到 Python 2 和 3。

http://www.python.org/download/releases/2.7.6/

http://www.python.org/download/releases/3.3.3/

于 2013-10-29T01:54:05.957 回答