2014-09-20 73 views
0

我试图安装ipython在CentOS 6.5框使用PIP,但我得到一个错误,因为它试图使用Python 2.6而不是2.7。pip安装ipython使用python2.6而不是python2.7 - 如何重写? CentOS 6.5

默认情况下,我运行的Python 2.6

$ python -V 
Python 2.6.6 

这是位于/ usr/bin中/ Python的

$ which python 
/usr/bin/python 

我还安装了Python 2.7版,它位于USR/local/bin/

$ which python2.7 
/usr/local/bin/python2.7 

我想安装ipython的最新版本,我使用pip来做到这一点。

$ sudo pip install ipython

Downloading/unpacking ipython 
Downloading ipython-2.2.0.tar.gz (11.9MB): 11.9MB downloaded 
Running setup.py (path:/tmp/pip_build_root/ipython/setup.py) egg_info for package ipython 
ERROR: IPython requires Python version 2.7 or 3.3 or above. 
Complete output from command python setup.py egg_info: 
ERROR: IPython requires Python version 2.7 or 3.3 or above. 

我可以看到,IPython中的setup.py脚本在这里确定活动版本:

v = sys.version_info 

if v[:2] < (2,7) or (v[0] >= 3 and v[:2] < (3,3)): 
    error = "ERROR: IPython requires Python version 2.7 or 3.3 or above." 
    print(error, file=sys.stderr) 
    sys.exit(1) 

PY3 = (sys.version_info[0] >= 3) 

我如何可以覆盖PIP默认情况下,评估版本?我应该在/ usr/local/bin中创建一个到python 2.7的符号链接吗?简单地用/usr/local/bin/python2.7的python别名更新我的bash配置文件并不能解决问题。谢谢。

+1

pip将使用安装了pip本身的Python版本运行。因此,要为Python 2.7使用pip,请将其安装在该版本的Python中。如果您使用的是发行版提供的点('/ usr/bin/pip'),则它将用于发行版提供的Python。 – 2014-09-21 05:04:34

回答

1

如果您使用virtualenv,您可以在创建环境时,使用-p开关,它会理解你想要的版本的python

virtualenv -p /usr/local/bin/python2.7 ~/.virtualenvs/venv 

将创建的virtualenv venv在〜/ .virtuenvs与将/usr/local/bin/python2.7复制到〜/ .virtualenvs/venv/bin/python作为python解释器。所有脚本之上的行同样是#〜/ .virtualenvs/venv/bin/python。如果您仍有问题,请留下评论。

+0

我通过这个工作现在: '的virtualenv -p /usr/local/bin/python2.7〜/ .virtualenvs/VENV 与翻译运行的virtualenv /usr/local/bin/python2.7 回溯(最新最后调用): 文件 “/usr/lib/python2.6/site-packages/virtualenv.py” 17行,在 进口的zlib 导入错误:没有模块名为zlib' – tandy 2014-09-20 17:53:30

+0

zlib的是核心在2.7的库中,应该找到它。 – hd1 2014-09-20 18:42:11

+0

奇怪,因为如果我打开一个新的python2.7解释器并导入zlib,找到该模块没有问题。现在,我刚刚找到了一个较早版本的ipython并安装它。 – tandy 2014-09-21 15:42:59