Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mac上安装带readline的ipython_Python_Macos_Readline_Ipython - Fatal编程技术网

在mac上安装带readline的ipython

在mac上安装带readline的ipython,python,macos,readline,ipython,Python,Macos,Readline,Ipython,我在MacOS10.5和Python2.5.1上使用ipython(实际上我想在2.6.1上使用ipython,但它似乎不可用?) 我通过easy_install安装了ipython。它可以工作,但缺少gnu readline(使用ctrl-R等可以很好地搜索命令行历史记录) 我找到了一个和其他消息来源,说这可以通过 sudo轻松安装-fhttp://ipython.scipy.org/dist/ 读线 但是,这会导致readline.c中的生成错误,尤其是未声明的函数,如rl\u compen

我在MacOS10.5和Python2.5.1上使用ipython(实际上我想在2.6.1上使用ipython,但它似乎不可用?)

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

我找到了一个和其他消息来源,说这可以通过

sudo轻松安装-fhttp://ipython.scipy.org/dist/ 读线

但是,这会导致
readline.c
中的生成错误,尤其是未声明的函数,如
rl\u compentry\u func\u t
rl\u catch\u signals


有人见过这些错误吗?有没有其他方法可以通过readline安装ipython?

您可以通过使用MacPorts的一个命令安装所需的一切。首先从下载并安装MacPorts

然后只需在终端中执行以下操作: 1) sudo端口-v自我更新
2) sudo端口-v安装py26 ipython

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

“我实际上想将ipython用于2.6.1”


它是可用的。我在OSX上的2.6.1中使用它。您只需安装官方的python 2.6.1发行版,然后使用easy_install安装ipython。

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

sudo easy_install readline ipython
(请注意,如果使用“pip”安装readline,则ipython将看不到readline库,不确定原因)

编辑:

如果已安装ipython,请将其与一起删除

sudo pip uninstall ipython

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

pip install readline ipython

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

如果不想使用端口,可以选择此选项注意:这不是安全升级。

正常安装
ipython
readline

sudo easy_install -f http://ipython.scipy.org/dist/ readline ipython
找到您的
readline
egg的完整路径。对于python 2.6,这可能是:

/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/readline-2.5.1-py2.6-macosx-10.3-fat.egg
使用您喜爱的文本编辑器编辑
ipython

vim `which ipython`
在文件
sys.exit
的最后一行之前,插入:

sys.path.insert(0,'PATH_TO_READLINE_EGG')
保存并退出(
:wq

检查readline是否正常工作:

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

根据需要安装readline(pip、自制、macports等)


成功!它与virtualenv和VirtualEnvRapper一起工作,无需修改ipython:)

在MacOS Mavericks上唯一的工作方式是:

  • 在myproject\u name上切换到您的VirtualNV
    work
  • 删除readline和ipython(如果以前安装过)
    pip卸载readline ipython
  • 仅通过easy_install(pip-不工作!)安装readline
    easy_install readline
  • 最后使用pip安装ipython
    pip安装ipython

  • 它在我的MacOS上运行良好,并且经过了很长时间的测试。

    virtualenv小组讨论了pip问题。(小结:pip不会将其读线放在sys.path中不兼容的预装版本前面)它现在可以工作了,如果已经安装了ipython,它将无法工作。您可以添加需要卸载ipython的内容。Ipython可能在不使用readline或mac的情况下编译readline@LoïcFaure Lacroix请随意编辑我的答案。我不使用MacPorts(我更喜欢自制),这是适合我的解决方案。谢谢!基于此,我能够在雪豹上修复我自己安装但读线中断的Py 2.7。这对我来说也是最简单的方法。sudo mv步骤是唯一能解决我在小牛上问题的方法。在那之后,我对这两个都进行了pip卸载,然后在我的virtualenv中安装了“pip安装readline ipython”。遗憾的是,由于macports已经不受欢迎,我认为这不再是理想的解决方案。现在大多数人似乎更喜欢自制啤酒。是的,我同意。为我辩护,当我回答这个问题时,没有自制的。我同意。这是一个很好的答案,我只是想我应该为那些通过谷歌偶然发现这个问题的人提一提。如果你想在你的ipython中使用vi键,看看这是我在约塞米蒂发现的最简单的解决方案。谢谢
    ipython
    
    cd /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
    sudo mv readline.so readline.so.bak
    
    pip install -U readline