我试图在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
答案 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