Easy_install and pip broke: pkg_resources.Distribu

2019-01-16 06:19发布

I was tried to upgrade pip with pip install --upgrade pip on OSX and pip and easy_install both dont work.

When running pip

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.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 2881, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 596, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==1.3.1

When running easy_install

  File "/usr/local/bin/easy_install", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 2881, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 596, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: distribute==0.6.36

How can I fix this?

UPDATE I found the solution.

I did cd /usr/local/lib/python2.7/site-packages && ls

found pip-1.4.1-py2.7.egg-info and distribute-0.6.49-py2.7.egg in the directory.

Then the following steps fixed the issue.

  1. Changed the pip version to 1.4.1 in /usr/local/bin/pip

  2. Changed distribute version to 0.6.49 in /usr/local/bin/easy_install


The answers on other such questions to curl ez_setup.py and install setuptools from it didnt work. It gave the following error.

Downloading https://pypi.python.org/packages/source/s/setuptools/setuptools-1.1.6.tar.gz
Traceback (most recent call last):
  File "<stdin>", line 370, in <module>
  File "<stdin>", line 366, in main
  File "<stdin>", line 278, in download_setuptools
  File "<stdin>", line 185, in download_file_curl
  File "/usr/local/Cellar/python/2.7.4/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 542, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['curl', 'https://pypi.python.org/packages/source/s/setuptools/setuptools-1.1.6.tar.gz', '--silent', '--output', '/usr/bin/setuptools-1.1.6.tar.gz']' returned non-zero exit status 23

8条回答
The star\"
2楼-- · 2019-01-16 07:01

It seems that pip was installed with reference to a new version of python, while your active python executable is still old. In case you want to keep the older version of python, it's pretty straightforward: reinstall pip using the old version.

  1. Get the get-pip.py file which is linked from https://pip.pypa.io/en/stable/installing/
  2. Using the old version of python executable (I assume it should be the python command), run the script.

If you're looking for a shortcut: cd /tmp/ && wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py

The script removes old versions of pip and properly installs a new executable, linking to the old python's executable environment.

查看更多
Emotional °昔
3楼-- · 2019-01-16 07:02

Just Pointing it out here once again to make the solution more obvious!

Just running the command sudo easy_install --upgrade pip solved the issue for me!

查看更多
等我变得足够好
4楼-- · 2019-01-16 07:03

Install the distribute package as follows:

$ wget https://svn.apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk/distribute_setup.py
$ python distribute_setup.py

You will have a working easy_install then.

Happy Coding.

查看更多
Ridiculous、
5楼-- · 2019-01-16 07:05

One way to solve distributeNotFound error is to download the python module with exact version. Uncompress it, go to the folder and install it "python setup.py install". Then, may be upgrade it to the latest version.

I had the error 'pkg_resources.DistributionNotFound: The 'setuptools==19.4' distribution was not found and is required by the application'. I downloaded setuptools v 19.4, when v 36.2.7 is already out. I installed v 19.4 and then upgraded with command "easy_install --upgrade setuptools'. Everything worked like charm thereafter.

查看更多
The star\"
6楼-- · 2019-01-16 07:07

If you do this then it will work:

cd /usr/local/lib/python2.7/site-packages && ls

Find pip-1.4.1-py2.7.egg-info and distribute-0.6.49-py2.7.egg in the directory.

Then the following steps fixed the issue:

  • Changed the pip version to 1.4.1 in /usr/local/bin/pip
  • Changed distribute version to 0.6.49 in /usr/local/bin/easy_install
查看更多
闹够了就滚
7楼-- · 2019-01-16 07:16

Wich operative system ?

Anyways you should try to do this:

sudo easy_install -U distribute

Maybe this is helpfull too, whit this you install easy_install-2.7:

wget --no-check-certificate http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
tar xf distribute-0.6.35.tar.gz
cd distribute-0.6.35
python2.7 setup.py install

Maybe you need to force an update, or reinstall easy_install, because it seems is your problem.

查看更多
登录 后发表回答