Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DistributionNotFound error after upgrading pip

In reading about virtualenv here I realized I didn't have pip 1.3+, so I ran pip install --upgrade pip and now when I run pip --version i get the following:

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/pkg_resources.py", line 2807, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/pkg_resources.py", line 594, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==1.2.1

If it helps, or is at all relevant, my $PATH looks like this:

/usr/local/bin:/usr/local/share/python:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin

Also, which pip gives me /usr/local/bin/pip.

Not sure what to do about the error. Thanks.

like image 525
saclark Avatar asked Mar 20 '13 01:03

saclark


1 Answers

The brutal way:

Assuming you are using homebrew for Mac (because I see /usr/local/Cellar), I suggest to

  • remove (or backup) /usr/local/lib/python2.7, and
  • brew rm python && brew install python.

This will definitely install pip 1.3.3 alongside of python. Your distribute will also be 0.6.35.

The soft way:

From /usr/local/lib/python2.7/site-packages just remove:

  • easy-install.pth
  • pip-1.2.1-py2.7.egg or other versions of pip you have.
  • distribute-0.6.34-py2.7.egg or other versions

Then, brew rm python && brew install python. This will leave all your other bindings from brew and installed stuff intact. Python, pip and distribute will be replaced with up-to-date versions.

additionally:

Please check that you don't have a distribute or setuptools or pip located in /Library/Python/2.7/site-packages. That dir is re-used by all python 2.7 versions (brewed or from OS X) and will interferre with the pip/distribute already installed by Homebrew.

like image 86
Samuel John Avatar answered Oct 15 '22 10:10

Samuel John