模块未找到错误:没有名为'requests'的模块。但是已经安装了'requests'。

20

尝试导入'requests'

使用pip3安装了requests吗?但仍然出现此错误。

C:\Users\Vikentiy>pip3 list
Package    Version
---------- ----------
certifi    2018.11.29
chardet    3.0.4
Django     2.1.7
idna       2.8
pip        19.0.2
pytz       2018.9
requests   2.21.0
setuptools 40.6.2
simplejson 3.16.0
urllib3    1.24.1
virtualenv 16.4.0

C:\Users\Vikentiy>python --version
Python 3.7.2

错误追踪:

C:\Users\Vikentiy\untitled2\venv\Scripts\python.exe C:/Users/Vikentiy/untitled2/requeststests.py 
Traceback (most recent call last): 
File "C:/Users/Vikentiy/untitled2/requeststests.py", line 1, in <module> import requests`

你从哪里得到这个错误的?看起来你是全局安装了它,但你可能在虚拟环境中运行程序,在这种情况下它找不到 'requests' 模块。 - Vlad Bezden
你说得对。但我不知道如何在这个特定的环境中安装它。C:\ Users \ Vikentiy \ untitled2 \ venv \ Scripts \ python.exe C:/ Users / Vikentiy / untitled2 / requeststests.py Traceback(最近的调用最先): File“C:/ Users / Vikentiy / untitled2 / requeststests.py”,第1行,在<module>中 导入请求 - vikentii
还尝试了C:\Users\Vikentiy\untitled2\venv\Scripts\python.exe -m pip install requests,但没有帮助。 - vikentii
问题已解决。正确的代码如下:import requests r = requests.get("http://google.com")
print("状态:", r.status_code) 但我输入时写成了 r = requests.get("http//google.com") 而不是 r = requests.get("http://google.com")。非常抱歉。
- vikentii
@Gahan,我错了,-m pip install requests解决了我的问题。但是我是否必须手动安装它到我想要使用它的所有环境中?在我观看的课程中,那个人只是在Mac上使用pip3 install,然后它就可以工作了。 - vikentii
显示剩余3条评论
11个回答

11

这可能是由于安装了多个Python版本而导致的。因此,如果您在终端中键入:

pip3 install requests 

requests库将被自动安装到您的默认Python3中,例如Python3.6。但是,假设您有另一个Python版本,例如Python3.7,您应该执行以下操作:

pip3.7 install requests

这应该可以解决这个问题。

如果你在终端运行代码,你可以尝试:

python3.7 file_to_run.py

这是最佳解决方案,具有多个Python环境。 - undefined

9

4

如果您正在使用PyCharm作为IDE,请尝试关闭并重新启动PyCharm。将鼠标指针移动到“requests”(下面有红色波浪线),直到旁边的红色灯泡出现。选择其中的第一个选项,“安装包请求”。PyCharm将负责从那里进行安装。

我遇到了同样的问题,并尝试了Stack Overflow上的所有解决方案。


3
如果已安装,这将起作用:
c:\>python  (or on Mac/Linux "$ python")
>>> import requests
>>> requests.get("http://127.0.0.1")
<Response [200]>

如果在运行脚本/IDE时看到以下错误:

Traceback (most recent call last): File "E:\test.py", line 1, in <module>

import requests
ImportError: No module named requests

尝试如下操作:

python script.py

以下翻译内容基于 https://www.edureka.co/community/84584/python-requests-module-import-error-module-named-requests

对我而言要解决的问题并不是启动虚拟环境,实际上我发现我安装了请求包到 python 32 位文件夹c:\program files (x86)\python37-32\lib\site-packages,但我的 Python 实际上在运行 x64 版本。这里是一张网络上的截图,展示如何切换使用器 - 我需要将其设置为 Python 3.7.4(x86) 32 bit:

enter image description here


2
在命令提示符中运行,然后在脚本目录中输入命令pip install requests
cd \Python27\scripts
pip install requests

2

这是我亲测有效的解决方法,请按照以下步骤操作:

首先,尝试获取之前安装的requests模块的版本号,可以通过以下命令找到:

pip install requests

现在,您将收到以下信息:
Requirement already satisfied: requests in /opt/anaconda3/lib/python3.8/site-packages (2.24.0)

看,这里的 requests 模块版本是 (2.24.0)。

现在,基本逻辑很简单,你应该只安装先前版本的 requests (2.24.0)。因此,你现在应该安装 requests (2.20.0)

使用以下命令进行安装:

pip install requests==2.20.0

现在,我认为你可以测试 import requests,这将正常工作。

如果出现任何错误,请在评论中告诉我。

谢谢, 愉快的编码。


1
这真的是对我有用的正确解决方案!非常感谢。 - X. Li

1

如果您正在使用 venv(虚拟环境),则可能需要考虑其路径。对于我的情况,它在我的项目文件夹之外。因此,我必须先在主 Python 路径中安装 request,然后在我的项目内重新创建 venv。

inside_your_project#python -m venv ./venv

1

这个问题是由于Python包中缺少请求模块导致的。因此,您可以使用以下命令安装并重新启动IDE以进行检查:

pip install requests

如果已经安装,则最好升级:

pip install --upgrade pip


0
其实你正在使用像VS Code这样的集成开发环境。 如果是VS Code,需要更改“默认解释器路径”。错误的原因是你的系统上安装了另一个Python版本,并且你的IDE正在使用该版本。 现在该怎么办: 步骤:
1. 找到实际的Python路径,例如user/appdata/local/programs/python/311 2. 进入VSCode设置>Python,并将此路径粘贴到“默认解释器路径” 完成。

0

有可能您安装了多个Python版本,并且在一个版本中安装了这个模块,但在另一个版本中进行执行。

您可以检查您正在使用的Python解释器进行执行。

运行

pip show <module name>

检查导致问题的模块所在的位置,这将告诉您应该使用哪个Python安装作为您的解释器,否则您可以手动将模块文件复制到当前Python解释器安装的位置。

enter image description here


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