程序包升级后,在Ubuntu 14.4上打破了点

时间:2015-03-07 17:06:43

标签: python ubuntu pip

我试图在EC2 ubuntu 14.4实例上升级python请求包。这样做之后,我没有抛出错误

pip freeze

得到了:

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:~$

正如您所看到的,我尝试以各种方式卸载并重新安装pip无济于事。我怎样才能让它再次运作?

编辑:

 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

2 个答案:

答案 0 :(得分:16)

apt-get安装了旧版本的pip,可能导致问题,完全删除python-pip 用:

apt-get remove --purge python-pip

然后:

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

使用sudo 如果需要

答案 1 :(得分:3)

这对你有用。按照这些简单的步骤。

步骤:1 sudo apt-get remove python-pip

步骤:2 sudo easy_install -U pip

会返回一些地址,如: 安装/usr/local/lib/python2.7/dist-packages/pip-6.1.1-py2.7.egg

步骤:3 转到此link

步骤:4 右击&gt;&gt;保存为..名称为get-pip.py。

步骤:5 使用:cd转到get-pip.py文件所在的目录

步骤:6 使用:sudo python get-pip.py

步骤:7 使用:sudo apt-get install python-pip