我有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
这似乎已经破了......一旦我这样做了它,但为什么需要手动创建目录?
感谢。
答案 0 :(得分:1)
您需要先安装setuptools;它拥有它自己的installation script(它是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
蛋版本。