0

我将 python2.6 作为我的默认 python,并且我一直在使用分发 easy_install 在~/.local. easy_install 有很多问题,我想切换到 pip,同时从 python2.6 升级到 python2.7。我现有的 pip 版本与 python2.6 相关联,并且总是在~/.local/lib/python2.6寻找包。这意味着我必须使用 Python2.7 再次安装 pip,但使用现有的 python2.6 pip 似乎无法做到这一点,对吧?

因此我尝试下载 pip 并像这样安装它:

python2.7 setup.py install --prefix=~/.local

请注意,我没有root,所以我必须在本地安装pip。当我尝试这个时,我得到:

Traceback (most recent call last):
  File "setup.py", line 5, in <module>
    from setuptools import setup
ImportError: No module named setuptools

我该如何解决这种情况?我显然不能用 pip 安装 setuptools,因为我不能安装 pip ......我要做的就是将 pip 与 python2.7 链接,升级 pip 然后用 pip 安装所有东西,忘记easy_install和旧的python2.6及其包。

当我尝试下面的答案时,我得到:

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /home/user/.local/lib/python2.7/site-packages

This directory does not currently exist.  Please create it and try again, or
choose a different installation directory (using the -d or --install-dir
option).

我必须手动创建(使用mkdir)目录:

~/.local/lib/python2.7/site-packages

这似乎坏了......一旦我这样做了,它就起作用了,但为什么它需要手动创建目录?

谢谢。

4

1 回答 1

1

您需要先安装 setuptools;它有自己的安装脚本(它是 egg 文件的一部分):

wget "http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg"
sh setuptools-0.6c11-py2.7.egg --prefix=~/.local

请注意,它也支持一个--prefix=选项。它会找到您的python2.7二进制文件(而不是 2.6 版本),因为您下载了2.7egg 版本。

于 2013-02-02T17:40:39.157 回答