Mavericks下的Python shell:readline.so bug的两个方面



Mavericks下的Python shell中存在readline问题。有两个问题,在stackoverflow这里分别回答,但不是同时回答。a) 进入第2行后的segfault和/或b) 行编辑不起作用。

我在下面提供两个问题的链接。基本上,你可以A)什么都不做,在shell中键入第二行时享受segfault,或者B)-通过将readline.so重命名为readline.so.disabled来"修复"它——但在这种情况下,失去了Python shell中的编辑功能。

我找不到能同时解决这两个问题的配方。突然之间,使用Python外壳真的很困难。请帮忙。

以下是更多详细信息:

a) segfault问题在这里和这里得到了回答:Python在运行两个命令时崩溃(分段错误:11)分段故障:OS X 中的11

b) python解释器中的"向上箭头"问题在这里得到了回答:在python shell 中按下箭头键时看到转义字符

以下是如何在我的系统上重现问题:

mymachine:/Library/Frameworks/Python.framework/Versions/2.7%python
Python 2.7.3 (v2.7.3:70274d53c1dd, Apr  9 2012, 20:52:43) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=1
>>> y=2
Segmentation fault
mymachine:/Library/Frameworks/Python.framework/Versions/2.7%sudo mv ./lib/python2.7/lib-dynload/readline.so ./lib/python2.7/lib-dynload/readline.so.disabled
mymachine:/Library/Frameworks/Python.framework/Versions/2.7%python
Python 2.7.3 (v2.7.3:70274d53c1dd, Apr  9 2012, 20:52:43) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x=1
>>> y=2
>>> ^[[A
  File "<stdin>", line 1
    ^
SyntaxError: invalid syntax

这不会修复您的系统安装,但我认为虚拟机不会有这个问题。我在小牛队每天都用Python,从来没有遇到过任何麻烦。

相关内容

最新更新