ImportError:无法导入名称请求

时间:2018-04-30 13:36:28

标签: python pip

每当我使用终端(ubuntu)运行.py代码时。

我收到此错误。

Traceback (most recent call last):                                                                                                                               
File "./twitterstream.py", line 15, in <module>                                                                                                                  
    from pip._vendor import requests                                                                                                                             
File "/usr/local/lib/python2.7/dist-packages/pip-10.0.1-py2.7.egg/pip/_vendor/requests/__init__.py", line 83, in <module>                                        
    from pip._internal.compat import WINDOWS                                                                                                                     
File "/usr/local/lib/python2.7/dist-packages/pip-10.0.1-py2.7.egg/pip/_internal/__init__.py", line 42, in <module>                                               
    from pip._internal import cmdoptions                                                                                                                         
File "/usr/local/lib/python2.7/dist-packages/pip-10.0.1-py2.7.egg/pip/_internal/cmdoptions.py", line 16, in <module>                                             
    from pip._internal.index import (                                                                                                                            
File "/usr/local/lib/python2.7/dist-packages/pip-10.0.1-py2.7.egg/pip/_internal/index.py", line 15, in <module>                                                  
    from pip._vendor import html5lib, requests, six
ImportError: cannot import name requests

所有错误都是导入错误。 (PIP)

我尝试重新安装pip和python。

对此有何建议?

7 个答案:

答案 0 :(得分:2)

pip 10.0.1似乎已损坏,因此目前的解决方法是将pip固定在版本9:

pip install --upgrade pip==9.0.3

否则,您需要获取最新版本的pip,而不是发行版,并更新PATH:

export PATH="~/.local/bin:$PATH"

答案 1 :(得分:1)

在您的终端上写下

pip install requests

因为你没有安装但请求模块,你可以通过pip安装每个模块,pip install urlib2,pip install readlines ,pip install termcolor等//

答案 2 :(得分:1)

而不是:

from pip._vendor import requests

这样做:

import requests

您的代码目前正在尝试从其他程序导入请求;该程序刚刚重新组织了所有代码,因此不再适用这种情况并不奇怪。

答案 3 :(得分:1)

我在点子 10.0.1 上也遇到了这个错误 在点 9.0.3 时,没有此错误。

答案 4 :(得分:1)

有点晚了,但是出现了与此处所述相同的错误。但是,所有建议的答案都无法解决我的问题。

就我而言,pip是从OS的程序包管理器(在Arch Linux中为python-pip)以及请求(这是第一个依赖项)安装的。 使用pip(sudo pip uninstall requests)删除请求后,我最终遇到此错误。

使用发行版的软件包管理器(pacman -Sy python-requests)重新安装已解决。

答案 5 :(得分:1)

在Mac上,我遇到的任何pip命令都因追溯而失败。

这是由于我升级了大多数软件包而导致的,但是我却忽略了与virtualenv相关的软件包的升级。这些升级为我修复了它。

pip install --upgrade virtualenvwrapper
pip install --upgrade virtualenv
pip install --upgrade virtualenv-clone

此固定pip命令以及mkvirtualenv命令等。

我了解了几种原因可能导致这种情况,但这是其他用户可能会帮助的一种情况。通常,您可能希望在您的环境中寻找严重不同步的软件包。

答案 6 :(得分:0)

我遇到了同样的错误。问题是我删除了几个名为请求的文件夹,因为它与我的python代码中的“请求”模块发生冲突。然后,当我将文件从回收站放回去时,pip3 list命令运行正常。