python - ipython 提示 readline

标签 python

当我在我的 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/

相关文章:

python - 如何在 python selenium 中将文本框数据转换为整数

python - 解析大型 NTriples 文件 Python

python - pandas Series.tolist() 中的 NaN 与 list 中的 NaN 的行为不同

python - 使用cython从intel ubuntu交叉编译项目到arm

python - 美汤提取

python - CPython - 在内部,堆栈和堆中存储了什么?

python - 使用 matplotlib 在 python 中打开并绘制数据

python - 如何导入需要调整 sys.path 的命名空间包?

python - 为 Datastore Plus (NDB) 中的事务提供参数

python - 在派生类中使用基类方法作为装饰器