libedit/readline与osx10.7lion上的ipython3.2.2冲突

2024-10-02 02:41:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我在mac上设置了一个很好的运行错误,但是我不能运行以下错误:

192:~ mlauria$ /Library/Frameworks/Python.framework/Versions/3.2/bin/ipython3
/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages\
/IPython/utils/rlineimpl.py:96: RuntimeWarning: Leopard libedit detected - \
readline will not be well behaved including some crashes on tab completion, and \
incorrect history navigation. It is highly recommended that you install readline,\
which is easy_installable with: 'easy_install readline'
  RuntimeWarning)
Python 3.2.2 (v3.2.2:137e45f15c0b, Sep  3 2011, 17:28:59)

easy_install readline在ipython2.7上可以正常工作,但不能修复3.2。在


Tags: installreadlinebinismaclib错误easy
2条回答

您是否有一个名为easy_install-3.2的命令?在

看一下readline on PyPI,似乎没有为python3构建的二进制文件,所以您可能需要相关的东西从源代码处编译它(除非您可以在别处找到python3构建)。在

这是不幸的,因为越来越多的OS X上的Python发行版是用苹果在osx中提供的libedit而不是苹果没有提供的GPL许可的GNU readline库来构建的。例如,当前64位/32位python.org网站OS X的安装程序使用libedit,而32位的安装程序目前使用readline,因为libedit在旧版本的OS X上有缺陷。虽然Python3.2的32位纯安装程序可以安装在10.7上,但如果需要安装任何C扩展模块,则在10.7上会出现问题,因为Python是用旧的10.4u SDK和ppc arch构建的,而这些在10.7上不受支持。理想情况下,iPython应该被修改为可以正确使用libedit或{}。如果有Python错误阻止它,那么针对Python本身的bug应该被归档。另外,也许可以说服PyPI上的readline包的维护者构建一个3.2二进制包。在

否则,您可以使用他们的源代码发行版自己构建,假设您已经为Lion安装了Xcode。如果python3.2bin框架不在您的路径中,则需要执行以下操作:

$ export PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:$PATH

如果尚未安装Distribute for Python 3.2,请执行以下操作:

^{pr2}$

然后从PyPI下载、构建并安装readline包:

$ easy_install-3.2 readline

或者,您可以从第三方分发服务器(如MacPorts)安装python3.2版本,它提供了一个readline端口(py32-readline)和iPython端口。在

相关问题 更多 >

    热门问题