Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pip broken on Ubuntu 14.4 after package upgrade

Tags:

python

pip

ubuntu

I was trying to upgrade the python requests package on an EC2 ubuntu 14.4 instance. after doing this, which did not throw an error I ran

pip freeze

and got:

ubuntu@ip-172-31-28-196:~$ pip freeze
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 351, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2363, in load_entry_poin
    return ep.load()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2088, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 11, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead
ImportError: cannot import name IncompleteRead
ubuntu@ip-172-31-28-196:~$ sudo apt-get remove python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  python-colorama python-distlib python-html5lib
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  python-pip
0 upgraded, 0 newly installed, 1 to remove and 64 not upgraded.
After this operation, 479 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 58701 files and directories currently installed.)
Removing python-pip (1.5.4-1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
ubuntu@ip-172-31-28-196:~$ sudo apt-get install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
Recommended packages:
  python-dev-all
The following NEW packages will be installed:
  python-pip
0 upgraded, 1 newly installed, 0 to remove and 64 not upgraded.
Need to get 0 B/97.7 kB of archives.
After this operation, 479 kB of additional disk space will be used.
Selecting previously unselected package python-pip.
(Reading database ... 58626 files and directories currently installed.)
Preparing to unpack .../python-pip_1.5.4-1_all.deb ...
Unpacking python-pip (1.5.4-1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up python-pip (1.5.4-1) ...
ubuntu@ip-172-31-28-196:~$ pip freeze
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 351, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2363, in load_entry_poin
    return ep.load()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2088, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 11, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead
ImportError: cannot import name IncompleteRead
ubuntu@ip-172-31-28-196:~$ sudo apt-get --purge remove python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  python-colorama python-distlib python-html5lib
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  python-pip*
0 upgraded, 0 newly installed, 1 to remove and 64 not upgraded.
After this operation, 479 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 58701 files and directories currently installed.)
Removing python-pip (1.5.4-1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
ubuntu@ip-172-31-28-196:~$ sudo apt-get install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
Recommended packages:
  python-dev-all
The following NEW packages will be installed:
  python-pip
0 upgraded, 1 newly installed, 0 to remove and 64 not upgraded.
Need to get 0 B/97.7 kB of archives.
After this operation, 479 kB of additional disk space will be used.
Selecting previously unselected package python-pip.
(Reading database ... 58626 files and directories currently installed.)
Preparing to unpack .../python-pip_1.5.4-1_all.deb ...
Unpacking python-pip (1.5.4-1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up python-pip (1.5.4-1) ...
ubuntu@ip-172-31-28-196:~$ pip freeze
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 351, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2363, in load_entry_poin
    return ep.load()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2088, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 11, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead
ImportError: cannot import name IncompleteRead
ubuntu@ip-172-31-28-196:~$

As you can see I've tried to uninstall and reinstall pip in various ways to no avail. How can I get it working again?

edit:

 ubuntu@ip-172-31-28-196:~$ sudo python get-pip.py
 The directory '/home/ubuntu/.cache/pip/log' or its parent directory is not owned by the current user
  and the debug log has been disabled. Please check the permissions and owner of that directory. If e
 xecuting pip with sudo, you may want the -H flag.
 The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current use
 r and the cache has been disabled. Please check the permissions and owner of that directory. If exec
 uting pip with sudo, you may want the -H flag.
 The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current use
 r and the cache has been disabled. Please check the permissions and owner of that directory. If exec
 uting pip with sudo, you may want the -H flag.
 Collecting pip
   Downloading pip-6.0.8-py2.py3-none-any.whl (1.3MB)
     100% |################################| 1.3MB 370kB/s
 Installing collected packages: pip     

 Successfully installed pip-6.0.8
 ubuntu@ip-172-31-28-196:~$ pip freeze
 -bash: /usr/bin/pip: No such file or directory
 ubuntu@ip-172-31-28-196:~$ sudo -H python get-pip.py
 Requirement already up-to-date: pip in /usr/local/lib/python2.7/dist-packages
 ubuntu@ip-172-31-28-196:~$ sudo apt-get --purge remove python-pip
 Reading package lists... Done
 Building dependency tree
 Reading state information... Done
 Package 'python-pip' is not installed, so not removed
 The following packages were automatically installed and are no longer required:
   python-colorama python-distlib python-html5lib
 Use 'apt-get autoremove' to remove them.
 0 upgraded, 0 newly installed, 0 to remove and 64 not upgraded.
 ubuntu@ip-172-31-28-196:~$ sudo -H python get-pip.py
 Requirement already up-to-date: pip in /usr/local/lib/python2.7/dist-packages
 ubuntu@ip-172-31-28-196:~$ pip freeze
 -bash: /usr/bin/pip: No such file or directory
like image 697
user1592380 Avatar asked Mar 07 '15 17:03

user1592380


1 Answers

apt-get installs a much older version of pip which can lead to problems, completely remove python-pip with:

apt-get remove --purge python-pip

then:

curl https://bootstrap.pypa.io/get-pip.py | sudo python

using sudo if required

like image 192
Padraic Cunningham Avatar answered Oct 18 '22 19:10

Padraic Cunningham