我的默认python是python2.6,我一直在使用distribute-easy_install在~/.local
中安装包。easy_install有很多问题,我想切换到pip,同时从python2.6升级到python2.7。我现有的pip版本与python2.6绑定,并且总是在~/.local/lib/python2.6
中查找包。这意味着我必须用Python2.7再次安装pip,但这似乎无法用现有的Python2.6pip完成,对吧?
因此,我尝试下载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
这似乎坏了。。。我做过一次它就工作了,但为什么它需要手动创建目录?
谢谢。
您需要首先安装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.7
egg版本。