pip3 ImportError: 无法导入名称 'IncompleteRead'

8

安装模块时遇到了问题,使用pip3尝试了2014年12月排名最高的几个建议,但仍然出现以下情况:

sudo pip3 install send2trash
    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/__init__.py", line 558, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2682, in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2355, in load
    return self.resolve()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2361, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 74, 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 15.10上,尝试完全删除Python 3并重新安装,但仍然存在问题。有帮助吗?
编辑:更新:尝试使用可引导的USB修复Ubuntu并返回原始配置,然后通过sudo apt-get install python3-pip重新安装,但现在它会生成一个崩溃报告。
Sorry, the application pip3 has unexpectedly crashed.
4个回答

16
这似乎是pip与requests包的交互问题。requests删除了IncompleteRead模块,但您使用较旧版本的pip仍然依赖它,而新版本则不再需要。
您应该尝试通过easy_install-3.5(如果您有Python 3.5)或easy_install-3(适用于其他版本)更新pip
sudo easy_install-3.5 -U pip
或者:
sudo easy_install-3 -U pip

你只需要这样做就可以了。


1
我试着把我的结果放在这里,但是遇到了麻烦。sudo easy_install3 -U pip 成功完成,但现在当我运行pip install <module>时,会出现一个权限被拒绝的异常和回溯错误。 - TB__
1
在全新安装Ubuntu后,最初安装python3-pip失败,随后使用apt-get install python3-requests,然后sudo easy_install3 -U pip,终于成功了! - TB__
1
easy_install3 对我有效,但 easy_install-3 却无效。 - tomsv
Windows的命令是什么? - WJA

3

我在树莓派上也遇到了类似的错误。解决方案是结合以上所有建议:

 sudo pip install --upgrade pip
 sudo pip install --upgrade requests
 sudo easy_install3 -U pip

0

这件事情发生在我尝试安装一个pip模块到我的Python3安装中。我错误地运行了pip而不是pip3,导致Python2模块被安装到Python3中。之后我意识到命令是错误的,于是我这次运行了pip3。但是,结果并不好,安装失败了,Python2中出现了一些错误,比如print语句中缺少括号(显然这是Python3的错误)。最终,它甚至炸毁了我的终端,我不得不安装另一个终端。

就像你所做的那样,我尝试安装和重新安装所有东西,但都没有成功。需要手动修复。经过几天的尝试和失败后,我备份了我的文件并重新安装了Ubuntu。

我知道这不是你想要的,但也许你可以节省时间,接受重新安装操作系统是最简单的解决方案。


我尝试重新安装Ubuntu以修复安装问题,现在出现了一条消息,上面写着“抱歉,应用程序pip3意外停止”,并发送了一个崩溃报告。不幸的是,我无法复制详细信息。 - TB__
我的意思是重新安装操作系统。格式化分区,然后再次安装操作系统。 - Ferit
好的,新安装完成,已安装python3-pip,开始使用pip3并安装了2个模块,但在第三个模块时出现了故障,并且我收到了崩溃报告的重复。这次我没有错误地安装pip而不是pip3,所以问题必须来自其他方面?? - TB__
如果您没有尝试在Python3上安装Python2模块或反之亦然,则问题应该是其他原因导致的。也许您想要安装的模块出现了故障?或者安装脚本可能已经损坏了? - Ferit

0

请确保您安装了最新版本的pip和requests:

pip install --upgrade pip
pip install --upgrade requests

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接