16

我开始使用 python 进行开发,并尝试了一些简单的命令,例如计算。

但是,有时python会因“Segmentation fault:11”而中止,在谷歌中我没有找到类似的问题或解决方案。

Python 与自制软件一起安装。home-brew doctor 命令不显示 python 安装的任何问题并且是最新的。

有没有人知道如何解决这个问题?

这是 OSX 崩溃日志: http: //pastebin.com/rKpPJKxJ

4

3 回答 3

19

嗯...传播这个词。以下似乎修复了它:

cd /Library/Frameworks/Python.framework/Versions/3.3 
cd ./lib/python3.3/lib-dynload 
sudo mv readline.so readline.so.disabled 
于 2013-10-23T20:08:01.757 回答
6

这是 python 解释器中与 readline 兼容性相关的错误,已在本周末被削减的最新候选者中修复。

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

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

引用 Ned Deily 的问题,在python-dev 电子邮件列表中写道:

周二,Apple 发布了 OS X 10.9(又名 Mavericks)。已经引起了很多人的兴趣,部分原因是 Apple 已经免费提供了它,并且让拥有 10.8、10.7 和(大多数)10.6 系统的用户可以轻松地直接升级到 10.9。不幸的是,我们在 OS X 10.9 上的当前维护版本(3.3.2 和 2.7.5)存在问题,需要尽快发布新的维护版本。

一个很关键,因为它会导致解释器在交互模式下运行时崩溃(http://bugs.python.org/issue18458)。该问题是由于 libedit 的 readline 兼容性层中长期存在的兼容性问题,上游最终修复了该问题,Apple 现在已在 10.9 中发布。因为 python.org 安装程序动态链接到 libedit,所以当用户以交互方式键入第二个命令时,readline.c 中针对历史索引中原始设计缺陷的原始解决方法现在会导致 10.9 出现段错误。不好。Ronald 设计了一个修复程序,允许 readline.so 在运行时检测并使用任一版本的 libedit,以便我们继续在多个 OS X 版本之间保持二进制兼容性。该修复程序已在 3.4.0 alphas 中发布并向后移植到 3.3 和 2.7 分支,等待在那里发布。仅在过去 12 小时内,用户报告的问题至少有四次重复。我已经更新了原始问题以明确提及 10.9,现在它不再受 NDA 保护,并为没有经验的用户提供可下载的脚本,以通过“删除”readline.so 来解决问题。据推测,随着消息的传出,打开的重复问题将会减少,但影响仍然存在。

于 2013-10-28T07:49:50.837 回答
0

当我安装 Homebrew 并且不得不调整我的 PATH 变量以放在/usr/local/bin前面时,我在 El Capitan 上遇到了这个问题。那里的 Python 版本是 2.7.3。Python in/usr/bin是 2.7.10。删除 python 符号链接/usr/local/bin/就可以了。

于 2018-03-20T05:50:23.997 回答