当我尝试用pip或pip3安装任何东西时,我得到:

$ sudo pip3 install python3-tk
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip3')()
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 356, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2476, in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2190, in load
    ['__name__'])
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 61, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python3/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python3/dist-packages/pip/download.py", line 25, in <module>
    from requests.compat import IncompleteRead
ImportError: cannot import name 'IncompleteRead'

我用的是Ubuntu 14.10系统。

我该如何解决这个问题?


当前回答

对于CentOS,我使用了这个,它可以工作,请使用以下命令:

sudo pip uninstall requests
sudo pip uninstall urllib3
sudo yum remove python-urllib3
sudo yum remove python-requests

(确认所有这些库都已删除)

sudo yum install python-urllib3
sudo yum install python-requests

其他回答

简单地运行easy_install -U pip就解决了我的问题。

虽然之前的答案可能是原因,但这个片段对我来说是一个解决方案(在Ubuntu 14.04中):

首先从包管理器中删除包:

# apt-get remove python-pip

然后在旁边安装最新版本:

# easy_install pip

(感谢@Aufziehvogel, @JunchaoGu)

检查一下你的~/.local/lib/python2.7/site-packages/目录中是否有旧版本的请求,如果是这样,就删除它(更改路径以反映你的python版本)。这为我解决了问题。

对于CentOS,我使用了这个,它可以工作,请使用以下命令:

sudo pip uninstall requests
sudo pip uninstall urllib3
sudo yum remove python-urllib3
sudo yum remove python-requests

(确认所有这些库都已删除)

sudo yum install python-urllib3
sudo yum install python-requests

问题是Python模块请求。它可以通过

$ sudo apt-get purge python-requests
[now requests and pip gets deinstalled]
$ sudo apt-get install python-requests python-pip

如果你在Python 3中遇到这个问题,你必须编写python3而不是Python。