我在OSX10.9上的Python3.3.2中遇到了一个问题,如果我在终端窗口中打开Python,它会在我输入的第二行之后以“分段错误: 11”退出,而不管这两个命令是什么。例如,如果我输入:
>>> for x in range(1000): print(x)很好,但如果我进去:
>>> for x in range(1000):
... print(x)然后,当我按下第二行的enter键时,就会得到错误。我也可以运行一个脚本超过2行,没有任何问题。
今天下午我更新到OSX10.9,所以我怀疑可能就是它。
然而,我最近刚刚安装了IPython (以及其他几个软件包),并且在过去的几天里一直在使用它,所以它可能是我最近安装的其他东西。在安装PyQt时,我尝试了几次失败的尝试,运行了configure.py,但是"make“命令失败了,我也对此表示怀疑。
我试着重新安装Python,但是它没有解决这个问题。IPython和空闲工作都没有问题。我只是担心什么可能是根本的问题。
发布于 2013-10-28 07:46:30
这是python中的读行兼容性中的一个bug,与OSX10.9中引入的更改有关。这个周末,Python2.7.6和Python3.3.3发布了候选版本,修复了这个错误。下载链接如下。
http://python.org/download/releases/2.7.6/
http://python.org/download/releases/3.3.3/
这是一个问题,引用内德·戴利的话,在python-dev电子邮件列表上写作。
周二,苹果发布了OSX10.9 (a.k.a )。小牛)。人们已经对它产生了极大的兴趣,部分原因是苹果公司免费提供了它,并使10.8、10.7和10.6系统的用户更容易直接升级到10.9。不幸的是,我们在OSX10.9上的当前维护版本(3.3.2和2.7.5)存在问题,需要尽快发布新的维护版本。 其中一个很关键,因为它会导致解释器在交互模式(http://bugs.python.org/issue18458)中运行时崩溃。这个问题是由于libedit的读行兼容性层中长期存在的兼容性问题,上游已经修复了这个问题,苹果现在已经在10.9发布了。由于python.org安装程序动态链接到libedit,因此readline.c中用于历史索引中的原始设计缺陷的原始解决方案现在会在用户交互地键入第二个命令时在10.9上造成一个分段错误。不太好。罗纳德设计了一个补丁,允许readline.so在运行时检测和使用libedit的任何一个版本,这样我们就可以继续在多个OS版本中保持二进制兼容性。该修复已经在3.4.0 alpha中发布,并支持到3.3和2.7分支,在那里等待发布。就在过去12个小时内,用户报告的问题至少有四次重复。我已经更新了最初的问题,明确提到10.9,现在它已经不再在NDA下了,并且为没有经验的用户提供了一个可下载的脚本,通过“删除”readline.so来解决这个问题。据推测,随着消息的传出,可能会出现较少的重复问题,但影响将继续存在。
发布于 2013-11-25 15:02:52
升级到OSX10.9之后,我遇到了这个问题,并使用了Python上提供的修补程序:http://bugs.python.org/issue18458#msg201087
要使用它,请在Terminal.app (或其他shell)中打开终端会话,然后输入:
curl -O http://bugs.python.org/file32324/patch_readline_issue_18458.sh
openssl sha1 patch_readline_issue_18458.sh
# the digest should be 7cb0ff57820a027dd4ca242eb2418930f8f46b4c然后
sh ./patch_readline_issue_18458.sh
输入您的密码,如果提示
发布于 2015-01-21 04:38:01
我有这个问题。将csv解析器中的chunksize更改为100消除了错误。
https://stackoverflow.com/questions/19531969
复制相似问题