当我尝试用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系统。

我该如何解决这个问题?


当前回答

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

其他回答

问题是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。

检查在任何终端窗口中是否有活的python解释器。如果是这样,杀了它,试试sudo pip,这对我很有用。

或者您可以删除所有请求。

例如:

Rm -rf /usr/local/lib/python2.7/dist-packages/requests*

我试着回答了所有的问题,但就是答不上来。

这样做就成功了

sudo apt-get purge python-virtualenv
sudo pip install pip -U

之后,我用pip安装了virtualenv

sudo pip install virtualenv

我做了我正在做的virtualenv 这个包很容易安装。 使用source /bin/activate进入virtualenv 并尝试安装您的软件包,例如:

pip install terminado

它适用于我,尽管我使用的是python2.7而不是python3

此问题是由pip安装和请求安装之间的不匹配引起的。

从请求2.4.0版开始,requests. compatat . incompleteread已被移除。旧版本的pip,例如2014年7月,仍然依赖于IncompleteRead。在pip的当前版本中,已经删除了IncompleteRead的导入。

所以,罪魁祸首要么是:

请求,删除公共API太快 Ubuntu更新pip太慢

你可以通过Ubuntu更新pip(如果有更新的版本)或者在Ubuntu之外安装pip来解决这个问题。