我一直在尝试在运行Lion的mac上设置ipython 3(运行2.7正常),但似乎无法摆脱以下错误:
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在ipython 2.7上正确解决了这个问题,但这并不能解决3.2。
答案 0 :(得分:6)
这是不幸的,因为越来越多的OS X上的Python发行版是在Apple X中使用Apple提供的libedit
而不是Apple未发布的GPL许可的GNU readline
库构建的。例如,OS X的当前64位/ 32位python.org安装程序使用libedit
,而仅限32位的安装程序当前使用readline
,因为libedit
在旧版本上有错误虽然Python 3.2的32位安装程序可以安装在10.7上,但如果你需要安装任何C扩展模块,那么在10.7上就会出现问题,因为Python是用旧的10.4u SDK和ppc archs构建的10.7不支持。理想情况下,应修改iPython以使用libedit
或readline
正常工作。如果有Python错误抑制,那么应该提交针对Python本身的错误。此外,也许可以说服PyPI上的readline
包的维护者构建并放置3.2二进制包。
否则,您可以使用其源代码分发自行构建它,假设您已为Lion安装了Xcode。如果Python 3.2 bin框架不在你的路径中,你需要做:
$ export PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:$PATH
然后,如果您尚未安装Distribute for Python 3.2:
$ curl -O http://python-distribute.org/distribute_setup.py
$ python3.2 distribute_setup.py
然后从PyPI下载,构建和安装readline
包:
$ easy_install-3.2 readline
或者您可以从MacPorts等第三方分销商安装Python 3.2版本,它提供readline
端口(py32-readline
)以及iPython端口。
答案 1 :(得分:0)
你有一个名为easy_install-3.2
的命令吗?
看看readline on PyPI,看起来没有为Python 3构建的二进制文件,所以你可能需要从源代码编译它的相关内容(除非你可以在其他地方找到Python 3版本)