如何撤销Python setuptools --prefix路径错误
我在安装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
(我在运行的是Fedora 15 32位,系统自带Python 2.7.1)
我该如何永久解决这个问题呢?
2 个回答
0
easy_install --help
里提到你可以使用 --prefix
这个选项
我觉得默认情况下,这个设置会来自于 ~/.pydistutils.py
这个文件
1
我通过强行删除我电脑上site-packages
文件夹里所有关于setuptools
、easy_install
和pip
的东西,终于回到了最初的状态。
之后,我重新运行了sh setuptools-0.6c11-py2.7.egg
,这次没有加--prefix
这个选项,现在一切都正常了。