问题
When I installed Python's setuptools I absent mindedly tacked on a --prefix path I had been using on another machine:
sh setuptools-0.6c11-py2.7.egg --prefix=/opt/python2.7.2
Now after this blunder when I try to install pip I get the following error:
[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
What's happening is that a symbolic link is being created that points to the folder I specified in the --prefix path:
[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
I deleted this link and then re-ran the setuptools installer and specified the correct prefix (my Python install lives in /usr/lib/python2.7):
sh setuptools-0.6c11-py2.7.egg --prefix=/usr
I then re-ran easy_install pip and it looked like I'd fixed my finger trouble. However when I went to install virtualenv I encountered the same problem:
[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
Again the wrong path is being used to create the symbolic link to where virtualenv is installed:
[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
(I'm running Fedora 15 32bit which has Python 2.7.1 installed out of the box)
How do I fix this permanently?
回答1:
I managed to get back to square one by using brute force and eradicating any and all evidence of setuptools, easy_install and pip from my site-packages folder.
After that I re-ran sh setuptools-0.6c11-py2.7.egg without the --prefix switch and things are as they should be now.
回答2:
easy_install --help mentions that you can specify --prefix there as well
I think by default this will come from ~/.pydistutils.py
来源:https://stackoverflow.com/questions/8022240/how-to-undo-a-python-setuptools-prefix-path-blunder