ImportError:没有名为请求的模块


580

每当我尝试导入时requests,都会出现错误提示No module Named requests

import requests

我得到的错误:

File "ex2.py", line 1, in <module>
    import requests
ImportError: No module named requests

18
您是否安装requests,使用pipeasy_install
Thomas Orozco 2013年

16
我遇到同样的问题,我通过点子安装
David Crook,

1
请注意,我只能从Spyder中获取问题,而不能从cmd提示符中获取。
大卫·克鲁克

2
我得到相同的结果。pip3报告“要求已经满足:...”
Matt

1
对我来说,事实证明这与多次安装python冲突。例如,在我的Mac上,我以某种方式在/ usr / bin中获得了python和python2.7,它们没有符号链接到同一安装。尽管pip显然正在为python2.7安装模块。因此,python没有看到那些模块。使用python2.7,一切正常。我想我需要稍微清理一下环境。
肖恩·诺瓦克

Answers:


701

Requests不是内置模块(默认的python安装不附带),因此您必须安装它:

OSX / Linux

如果已安装,请使用$ sudo pip install requests(或pip3 install requests用于python3) pip。如果pip已安装但不在您的路径中,则可以使用python -m pip install requests(或python3 -m pip install requests用于python3)

或者,sudo easy_install -U requests如果已easy_install安装,也可以使用。

另外,您可以使用系统软件包管理器:

对于centos:yum install python-requests 对于Ubuntu:apt-get install python-requests

视窗

如果已安装Pip.exe并将其添加到Path Environment Variable中,请使用pip install requests(或pip3 install requests用于python3) pip。如果pip已安装但不在您的路径中,则可以使用python -m pip install requests(或python3 -m pip install requests用于python3)

或者从命令提示符,使用> Path\easy_install.exe requests,这里Path是你的Python*\Scripts文件夹,如果安装它。(例如:C:\Python32\Scripts

如果您要手动将库添加到Windows计算机,则可以下载压缩的库,解压缩它,然后将其放入Lib\site-packagespython路径的文件夹中。(例如:C:\Python27\Lib\site-packages

从来源(通用)

对于任何缺少的库,通常可从https://pypi.python.org/pypi/获得该源。您可以在此处下载请求:https//pypi.python.org/pypi/requests

在Mac OS X和Windows上,下载源zip后,解压缩它,并从未python setup.py install压缩的dir 的termiminal / cmd中运行。

来源


7
如果您在Windows上安装了pip,则“ pip安装请求”将可以正常工作。我猜测“ easy_install请求”也将在osx / linux上运行,但是通常首选pip。(stackoverflow.com/questions/3220404/…)–
克里斯

12
for centos:yum安装python-requests
Erik Aronesty

9
在Mac OS X上,如果已安装easy_install,则还可以使用:sudo easy_install -U requests
RobinCominotto 2014年

10
后代注意事项:pip install requests要工作(在Mac上),您需要使用sudo
David Oneill,2014年

6
使用以下sudo pip3 install requests
命令

77

对我而言,您使用的是哪个版本的Python并不明显。

如果是Python 3,一个解决方案是 sudo pip3 install requests


2
sudo pip3 install requests如果要为一台计算机上的所有用户安装该软件,而不仅仅是一个用户。
阿德里安

67

requests在适用于Python2的Debian / Ubuntu上安装模块:

$ sudo apt-get install python-requests

对于Python3,命令为:

$ sudo apt-get install python3-requests


1
sudo apt-get install python-requests
Toda Raba

2
在我的情况下sudo apt-get install python3-request
user3058157 '18

24

如果您使用的是Ubuntu,则需要安装 requests

运行以下命令:

pip install requests

如果遇到权限被拒绝的错误,请在命令前使用sudo:

sudo pip install requests

我在Mint上,即使安装了它也遇到相同的错误。
DarthOpto

21

这可能为时已晚,但是即使未设置pip path,也可以运行此命令。我正在Windows 10上运行Python 3.7,这是命令

py -m pip install requests

并且您还可以将“ requests”替换为任何其他已卸载的库


19

在OSX上,该命令将取决于您安装的python的风格。

Python 2.x-默认

sudo pip install requests

Python 3.x

sudo pip3 install requests

2
我没有注意到差异,但这很重要。我已经安装了python 3.7版本,并使用pip请求,但找不到它。当我通过pip3安装时,它现在可以工作了。
shjeff

尝试了“ sudo pip3安装请求”,它看上去可以下载,但是当运行带有请求的文件时,出现了典型的“ ImportError:没有名为请求的模块”。真令人沮丧
John Pitts

14

就我而言,请求已经安装,但需要升级。以下命令可以解决问题

$ sudo pip install requests --upgrade



11

Brew用户可以使用下面的参考,

安装请求的命令:

python3 -m pip install requests

自制软件和Python

pip是Python的软件包安装程序,您需要该软件包requests


您是否愿意在此添加简短说明,以了解其工作原理?
Thruston

添加了额外的评论以获取pip信息。
ymutlu

7

向应用程序添加第三方程序包

跟随此链接 https://cloud.google.com/appengine/docs/python/tools/libraries27?hl=zh_CN#vendoring

步骤1:在项目的根目录中有一个名为appengine_config.py的文件,然后添加以下行:

从google.appengine.ext导入供应商

添加安装在“ lib”文件夹中的所有库。

vendor.add('lib')

步骤2:创建一个目录,并将其命名为project的根目录下的“ lib”。

步骤3:使用pip install -t lib请求

第4步:部署到App Engine。


1
这实际上是我想要的。仅上述步骤不适用于AppEngine :)
Gopherkhan


6

对于Windows,只需将路径指定为cd,然后将路径指定为python的“脚本”,然后执行命令easy_install.exe请求即可。然后尝试导入请求...



4

在过去的几个月中,我有几次遇到这个问题。我还没有看到针对fedora系统的好的解决方案,因此这里是另一个解决方案。我正在使用RHEL7,发现了以下内容:

如果您urllib3通过进行了安装pip,并且requests通过进行了安装yum,则即使安装了正确的软件包,也会出现问题。如果您urllib3通过yumrequests安装了,则同样适用pip。这是我为解决此问题所做的工作:

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

请注意,这仅适用于运行Fedora,Redhat或CentOS的系统。

资料来源:
这个问题(在答案的评论中)。
这个 github问题。


1
尝试使用oracle linux(基本上是RHEL),但是没有用。发布,以便其他人可以了解此结果。谢谢您的好意〜
ragerdl

@ragerdl您的问题可能并非专门与请求或urllib3有关。它可能与其他python软件包一起使用。这仅取决于您要运行的内容。
ajsmart

确实,我的路径中有两个错误的python,也有一个错误的python的别名。摆脱这三个python指针解决了我的问题。:)
ragerdl

3

我已经安装了python2.7和python3.6

打开〜/ .bash_profile的命令行, 我发现#Setting Python 3.6的PATH,所以我将路径更改为PATH =“ / usr / local / Cellar / python / 2.7.13 / bin:$ {PATH}”,(请确保您的python2.7的路径),然后保存。这个对我有用。


3

如果要request在Windows上导入:

pip install request

然后beautifulsoup4用于:

pip3 install beautifulsoup4

2

我解决了这个问题。您可以尝试这种方法。在此文件“ .bash_profile”中,添加类似alias python=/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7


2

如果您将anaconda用作Python软件包管理器,请执行以下操作:

conda install -c anaconda requests

通过pip安装请求对我没有帮助。


1
我需要requests_ntlm,因此必须运行“ conda config --add channel conda-
forge

2

您必须确保您的请求模块未安装在最新版本的python中。

使用python 3.7时,请像这样运行python文件:

python3 myfile.py

或使用以下命令进入python交互模式:

python3

是的,这对我有用。像这样运行文件:python3 file.py



1

我的答案与@ pi-k基本相同。就我而言,我的程序在本地运行,但无法在质量检查服务器上构建。(我怀疑devops阻止了该软件包的旧版本,而且我的版本肯定已经过时了)我只是决定升级所有内容

$ pip install pip-review
$ pip-review --local --interactive

1

如果您使用的是anaconda 步骤1:python 步骤2:在管理员模式下打开anaconda提示 步骤3:cd < python path > 步骤4:在此位置安装软件包


1

就我而言,这表明请求Requirement已经满足。所以我用。

sudo pip3 install requests

1

pycharm IDE中

从菜单中的文件一键设置

2-接下来进行Python解释器

3点子

4-搜索请求并安装

在终端pycharm中写入此命令

pip install requests 

并通过以下方式使用:

import requests

0

我的问题是我有四个尝试使用的python不同的python库(即使我显式调用了/usr/bin/python)。一旦我从路径中删除了shell别名和另外两个python,/usr/bin/python就可以了import requests

-HTH


0

问题可能是由于一台计算机具有多个版本的Python。确保要安装所有版本的请求模块。

就我而言,我有python版本2.73.7。我通过同时安装两个版本的python解决了此问题


0

试试这个,我已经安装了anaconda,在阅读了很多文章之后,我发现这是一个解决方法

import sys
print(sys.version)
print("\n \n")
print(sys.path)
sys.path.append('/usr/local/anaconda3/envs/py36/lib/python3.6/site-packages')

在python_version文件夹中提供站点包的路径。


0

也许您安装了多个版本的python。尝试使用其他版本(例如python3.7 xxx.py)来确定哪个版本正确。


-3

您还可以通过首先在目录中找到pip3.exe文件在Windows上使用pip安装:对我说==> cd c:\ python34 \ scripts然后运行==> pip3安装请求

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.