在mac上安装带有readline的ipython

17 python macos readline ipython

我在Mac OS 10.5上使用ipython和python 2.5.1(我实际上想使用ipython for 2.6.1,但它似乎不可用?)

我通过easy_install安装了ipython.它工作但缺少gnu readline(用ctrl-R很好地搜索命令行历史记录等)

我找到了一篇博文和其他消息来源说这可以解决

sudo easy_install -f http://ipython.scipy.org/dist/ readline

但是,这会导致构建错误readline.c,尤其是未声明的函数,例如rl_compentry_func_trl_catch_signals.

有没有人见过这些错误?还有另一种方法可以使用readline安装ipython吗?

Lor*_*ein 34

要在不使用MacPorts的情况下在Snow Leopard或Lion上安装ipython,您只需执行以下操作:

sudo easy_install readline ipython
Run Code Online (Sandbox Code Playgroud)

(注意,如果你使用"pip"来安装readline,那么ipython将不会看到readline库,不知道为什么).

编辑:

如果您安装了ipython,请将其删除

sudo pip uninstall ipython
Run Code Online (Sandbox Code Playgroud)

要么

pip uninstall ipython #for virtualenvs
Run Code Online (Sandbox Code Playgroud)

然后确保首先安装了readline并重新安装iptyhon

pip install readline ipython
Run Code Online (Sandbox Code Playgroud)

由于某些原因,如果在安装过程中没有readline,它将自行安装而不支持readline或使用默认的mac readline.

  • 讨论了关于pip问题的virtualenv小组.(摘要:pip不会将其readline放在sys.path中不兼容的预安装版本之前)http://groups.google.com/group/python-virtualenv/browse_thread/thread/044400bab87d119c/0bf2816070524268?show_docid= 0bf2816070524268 (4认同)

Jia*_*aro 13

这对我有用(我使用python 2.7,对于你需要编辑的其他版本):

cd /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
sudo mv readline.so readline.so.bak
Run Code Online (Sandbox Code Playgroud)

你想要安装readline(pip,homebrew,macports等)

pip install -U readline
Run Code Online (Sandbox Code Playgroud)

成功!它适用于virtualenv和virtualenvwrapper,而且无需修改ipython :)


hoh*_*uli 3

使用 MacPorts,您只需一个命令即可安装所需的一切。首先从http://www.macports.org/下载并安装 MacPorts 。

然后只需在终端中执行以下操作: 1) sudo port -v selfupdate
2) sudo port -v install py26-ipython

这将为您安装 python2.6、ipython for python 2.6 和 readline。启动 ipython 的命令位于 /opt/local/bin/ipython2.6

  • 遗憾的是,由于 macports 已经失宠,我认为这不再是理想的解决方案。如今大多数人似乎更喜欢自制啤酒。 (2认同)