49
votes

I have the latest version of pip 8.1.1 on my ubuntu 16. But I am not able to install any modules via pip as I get this error all the time.

File "/usr/local/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2927, in <module>
    @_call_aside
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2913, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2940, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 635, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 943, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 829, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pip==7.1.0' distribution was not found and is required by the application

I found a similar link, but not helpful.

10
what does pip --version says for you? Are you in virtualenv? - Rohanil
@Rohanil: pip --version too doesn't work in this case ! - Abhishek Ghosh
So, how did you solve it? - Danilo

10 Answers

79
votes

I repaired mine this with command:

easy_install pip

29
votes

I had this issue for a very long time until I recently found that my 'pip' file (/usr/local/bin/pip) is trying to load the wrong version of pip. I believe you also have 8.1.1 correctly installed on your machine and can give following a try.

  1. Open your /usr/local/bin/pip file. For me it looks like :

    __requires__ = 'pip==9.0.1'
    import sys
    from pkg_resources import load_entry_point
    if __name__ == '__main__':
        sys.exit(
            load_entry_point('pip==9.0.1', 'console_scripts', 'pip')()
    )
    
  2. Change 'pip==9.0.1' in line 1 and last line to whichever version you have installed on your system, for example you will need to change 7.1.0 to 8.1.1.

Basically /usr/local/bin/pip is an entry file for loading the pip required version module. Somehow when I am upgrading/changing pip installation this file is not getting updated and so I update it manually every time.

14
votes

I did not manage to get it to work by using easy_install pip or updating the pip configuration file /usr/local/bin/pip.

Instead, I removed pip and installed the distribution required by the conf file:

Uninstalling pip:

$ sudo apt purge python-pip or $ sudo yum remove python-pip

Reinstalling required distribution of pip (change the distribution accordingly):

$ sudo easy_install pip==9.0.3

10
votes

Delete all of the pip/pip3 stuff under .local including the packages.

sudo apt-get purge python-pip python3-pip

Now remove all pip3 files from local

sudo rm -rf /usr/local/bin/pip3

you can check which pip is installed other wise execute below one to remove all (No worries)

sudo rm -rf /usr/local/bin/pip3.*

Using pip and/or pip3, reinstall needed Python packages.

sudo apt-get install python-pip python3-pip
9
votes

After upgrading from 18.0 to 18.1, I got the same error. Reinstalling the program(without using pip itself) worked for me:

$ curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
$ sudo python get-pip.py
2
votes

Just relink to resolve it. Find which python : ls -l /usr/local/bin/python

ln -sf /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/bin/pip /usr/local/bin/pip

Or reinstall pip: https://pip.pypa.io/en/stable/installing/

2
votes

if you have 2 versions of pip for example /usr/lib/pip and /usr/local/lib/pip belongs to python 2.6 and 2.7. you can delete the /usr/lib/pip and make a link pip=>/usr/local/lib/pip.

2
votes

On mac this can be fixed with brew

brew reinstall python
0
votes

A bit late but if easy_install doesn't solve the issue, this worked fine for me:

$ vim /usr/local/bin/pip

Then run:

:%s/7\.1\.0/8\.1\.1/g
:wq
0
votes

After a large upgrade in Mint -> 19, my system was a bit weird and I came across this problem too.

I checked the answer from @amangpt777 that may be the one to try

/usr/local/bin/pip # -> actually had a shebang calling python3

~/.local/bin/pip* # files were duplicated with the "sudo installed" /usr/local/bin/pip*

Running

sudo python get-pip.py # with script https://bootstrap.pypa.io/get-pip.py
sudo -H pip install setuptools

seem to solve the problem. I understand this as a problem with the root / user installation of python. Not sure if ananconda3 is also messing around with those scrips.