当我在我的 osx 上安装 ipython 并运行它时,我收到以下警告:
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/
site-packages/IPython/utils/rlineimpl.py:96:
RuntimeWarning: Leopard libedit detected - readline will not be wel
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'
我已经安装了readline,不要使用/Library/Frameworks/Python.framework/Versions/2.7/bin/python$
中原来安装的系统python。 /usr/bin/python
指向 2.7 版本,如下所示
uname -a
Darwin macbook.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7
16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386
$sudo pip install readline ipython
$ipython --version
0.11
$/usr/bin/python --version #
Python 2.7.1
$which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
我已阅读 Python sys.path modification not working 中的问题- 我将 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/readline-6.2.1-py2.7.egg-info
添加到 >/Library/Frameworks/Python.framework/Versions/2.7/bin/ipython
现在看起来像这样:http://pastebin.com/raw.php?i=dVnxufbS
但我无法弄清楚为什么会出现以下错误:
File
"/Library/Frameworks/Python.framework/Versions/2.7/bin/ipython",
line 9
sys.path.insert(0,"/Library/Frameworks/Python.framework/Versions/2.7/lib/
python2.7/site-packages/readline-6.2.1-py2.7.egg-info")
我不认为上述路径是一个问题,我的目标是让 ipython 正常工作而不会提示 readline,即使它已正确安装和导入。
最佳答案
当 pip 安装 readline 时,它永远不会被导入,因为 readline.so 在 site-packages 中,它最终位于 libedit System one 之后,位于 lib-dynload
(OSX Python 路径顺序很奇怪)。 easy_install -a readline
将实际安装可用的 readline。
因此,您可以使用 easy_install,也可以使用 pip 并在您的 PYTHONPATH/sys.path 中使用(本质上意味着:不要使用 PIP)。
更多关于 IPython 列表的详细信息(尽管确实没有任何关于此问题的 IPython 特定内容):http://mail.scipy.org/pipermail/ipython-user/2011-September/008426.html
编辑:关于 virtualenv 的额外说明。
virtualenv < 1.8.3 中存在一个错误,当您创建 env 时,readline 将无法正确暂存。
关于python - ipython 提示 readline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7375545/