【问题标题】:pip install ipython using python2.6 instead of python2.7 -- how to override? CentOS 6.5pip install ipython using python2.6 而不是 python2.7 - 如何覆盖? CentOS 6.5
【发布时间】:2014-09-20 03:06:06
【问题描述】:

我正在尝试使用 pip 在 CentOS 6.5 机器上安装 ipython,但我收到一个错误,因为它尝试使用 python 2.6 而不是 2.7。

默认情况下,我运行的是 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 配置文件并不能解决问题。谢谢。

【问题讨论】:

  • pip 将与安装了 pip 本身的 Python 版本一起运行。因此,要将 pip 用于 Python 2.7,请将其安装在该版本的 Python 中。如果您使用的是您的发行版 (/usr/bin/pip) 提供的 pip,它将适用于您的发行版提供的 Python。

标签: pip ipython


【解决方案1】:

如果您使用virtualenv,您可以在创建环境时使用-p 开关,它会知道您想要那个版本的python

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

将在 ~/.virtuenvs 下创建一个 virtualenv venv,并将 /usr/local/bin/python2.7 复制到 ~/.virtualenvs/venv/bin/python 用于 python 解释器。所有脚本顶部的行同样将是 #~/.virtualenvs/venv/bin/python 。如果您仍有问题,请发表评论。

【讨论】:

  • 我正在解决这个问题:virtualenv -p /usr/local/bin/python2.7 ~/.virtualenvs/venv Running virtualenv with interpreter /usr/local/bin/python2.7 Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/virtualenv.py", line 17, in &lt;module&gt; import zlib ImportError: No module named zlib
  • zlib是2.7的核心库,应该可以找到。
  • 奇怪,因为如果我打开一个新的 python2.7 解释器并导入 zlib,找到模块没有问题。目前,我刚刚找到了一个旧版本的 ipython 并安装了它。
猜你喜欢
  • 2016-12-20
  • 2015-07-18
  • 1970-01-01
  • 2014-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-16
  • 2023-04-01
相关资源
最近更新 更多