如何撤消Python setuptools --prefix path blunder

时间:2011-11-05 18:15:37

标签: python setuptools pip

当我安装Python的setuptools时,我在另一台机器上使用的--prefix路径上心不在焉地说道:

sh setuptools-0.6c11-py2.7.egg --prefix=/opt/python2.7.2

现在,在我尝试安装pip之后出现这种错误,我收到以下错误:

[root@kkdev src]# easy_install pip
Searching for pip
Best match: pip 1.0.2
Processing pip-1.0.2-py2.7.egg
pip 1.0.2 is already the active version in easy-install.pth
Installing pip script to /usr/bin
error: /usr/bin/pip: No such file or directory

正在创建的符号链接指向我在--prefix路径中指定的文件夹:

[root@kkdev src]# ls -al /usr/bin/pip
lrwxrwxrwx 1 root root 24 Nov  5 17:01 /usr/bin/pip -> /opt/python2.7.2/bin/pip

我删除了此链接,然后重新运行setuptools安装程序并指定了正确的前缀(我的Python安装位于/usr/lib/python2.7):

sh setuptools-0.6c11-py2.7.egg --prefix=/usr

然后我重新跑了easy_install pip,看起来我已经解决了手指问题。但是当我去安装virtualenv时遇到了同样的问题:

[root@kkdev src]# pip install virtualenv

[uninteresting installer dialogue snipped]

Installing virtualenv script to /usr/bin

error: /usr/bin/virtualenv: No such file or directory

再次使用错误的路径创建指向安装virtualenv的符号链接:

[root@kkdev src]# ls -al /usr/bin/virtualenv
lrwxrwxrwx 1 root root 31 Nov  5 17:01 /usr/bin/virtualenv -> /opt/python2.7.2/bin/virtualenv

(我正在运行安装了Python 2.7.1的Fedora 15 32bit)

如何永久修复此问题?

2 个答案:

答案 0 :(得分:1)

我设法通过使用蛮力并从我的setuptools文件夹中根除easy_installpipsite-packages的所有证据来回到原点。

之后,我重新运行了sh setuptools-0.6c11-py2.7.egg 而没有 --prefix转换,事情就像现在一样。

答案 1 :(得分:0)

easy_install --help提到你也可以在那里指定--prefix

我认为默认情况下会来自~/.pydistutils.py