我在Mac OS 10.5上使用ipython和python 2.5.1(我实际上想使用ipython for 2.6.1,但它似乎不可用?)
我通过easy_install安装了ipython。它工作但缺少gnu readline(用ctrl-R等很好的搜索命令行历史记录所需)。
我找到了blog post和其他来源说这可以通过
修复 sudo easy_install -f http://ipython.scipy.org/dist/ readline
但是,这会导致readline.c
中的构建错误,尤其是rl_compentry_func_t
和rl_catch_signals
等未声明的函数。
有没有人看到过这些错误?是否有其他方法可以使用readline安装ipython?
答案 0 :(得分:34)
要在不使用MacPorts的情况下在Snow Leopard或Lion上安装ipython,您只需执行以下操作:
sudo easy_install readline ipython
(注意,如果你使用“pip”来安装readline,那么ipython将不会看到readline库,不知道为什么)。
编辑:
如果你安装了ipython,请用
删除它sudo pip uninstall ipython
或
pip uninstall ipython #for virtualenvs
然后确保您已安装readline并重新安装iptyhon
pip install readline ipython
由于某些原因,如果在安装过程中没有readline,它将自行安装而不支持readline或使用默认的mac readline。
答案 1 :(得分: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
安装readline但你想要(pip,homebrew,macports等)
pip install -U readline
成功!它适用于virtualenv和virtualenvwrapper,而且无需修改ipython:)
答案 2 :(得分: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
答案 3 :(得分:3)
MacOS Mavericks唯一的工作方式是:
workon myproject_name
pip uninstall readline ipython
easy_install readline
pip install ipython
它在我的MacOS上工作得很好并且测试了很长时间。
答案 4 :(得分:1)
如果您不想使用端口,则可以选择其他选项。 警告:这不是升级安全。
正常安装ipython
和readline
:
sudo easy_install -f http://ipython.scipy.org/dist/ readline ipython
找到readline
蛋的完整路径。对于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
答案 5 :(得分:0)
“我实际上想使用ipython for 2.6.1”
可用。我在os x上使用2.6.1。您只需要安装官方的python 2.6.1发行版,然后使用easy_install安装ipython。