NameError:名称“requests”未在 Python 中定义
NameError: name ‘requests’ is not defined in Python
Python“NameError: name ‘requests’ is not defined”发生在我们使用
requests
模块而不先导入它时。要解决该错误,请安装模块并import requests
在使用前将其导入 ( )。
在项目的根目录中打开终端并安装requests
模块。
壳
# 👇️ in a virtual environment or using Python 2 pip install requests # 👇️ for python 3 (could also be pip3.10 depending on your version) pip3 install requests # 👇️ if you get permissions error sudo pip3 install requests # 👇️ if you don't have pip in your PATH environment variable python -m pip install requests # 👇️ for python 3 (could also be pip3.10 depending on your version) python3 -m pip install requests # 👇️ alternative for Ubuntu/Debian sudo apt-get install python3-requests # 👇️ alternative for CentOS sudo yum install python-requests # 👇️ for Anaconda conda install -c anaconda requests
安装requests模块后,确保在使用前导入它。
主程序
# 👇️ import requests import requests def make_request(): res = requests.get('https://reqres.in/api/users') print(res.json()) make_request()
requests
该示例显示了如何使用该模块向远程 API 发出 GET 请求。
该
res
变量是一个Response
对象,它允许我们访问来自 HTTP 响应的信息。以下是该对象的一些最常用的属性Response
。
主程序
import requests def make_request(): res = requests.get('https://reqres.in/api/users') print(res.headers) # access response headers print(res.text) # parse JSON response to native Python string print(res.json()) # parse JSON response to native Python object make_request()
您可以使用相同的方法发出POST
请求。
主程序
import requests def make_request(): res = requests.post( 'https://reqres.in/api/users', data={'name': 'John Smith', 'job': 'manager'} ) print(res.json()) # parse JSON response to native Python object make_request()
可以使用相同的方法来发出PUT
、DELETE
或
请求。HEAD
OPTIONS
如果您需要发送请求正文,请data
像我们在上面的示例中所做的那样设置关键字参数。
结论
Python“NameError: name ‘requests’ is not defined”发生在我们使用
requests
模块而不先导入它时。要解决该错误,请安装模块并import requests
在使用前将其导入 ( )。