为什么我无法在 VS Code 中导入请求?

Bet*_*dhi 50 python visual-studio-code pylance

我想使用请求模块,但是每当我尝试导入请求时,我都会收到以下消息:

import "requests" could not be resolved from source Pylance
Run Code Online (Sandbox Code Playgroud)

我已经使用 pip 安装 requests 模块,但仍然收到此错误消息。

Ant*_*ony 76

您是否已通过运行确保已安装该模块

pip install requests
Run Code Online (Sandbox Code Playgroud)

或者

pip3 install requests
Run Code Online (Sandbox Code Playgroud)

此外,您可以告诉 VS Code 在您的系统中使用不同的 Python 解释器。例如,我遇到了同样的问题,VS Code 代码检查给了我警告,我没有安装模块请求,但是当我运行 python 脚本时,它无论如何都能工作。这就是为什么我相信 VS Code 中的 python 代码检查可以使用与运行代码时系统使用的不同的 Python 版本和相关 python 包。

是什么帮助我摆脱了 VS Code 错误消息,从这里选择了不同的 Python:

VS Code IDE 的屏幕截图。 更改Python版本以进行代码检查

  • 更改 VS Code 中的 Python 版本为我解决了这个问题 (8认同)
  • 重新启动,或者简单的“重新加载窗口” (2认同)

小智 22

我遇到了同样的错误并用以下方法解决了它:

import pip._vendor.requests 
Run Code Online (Sandbox Code Playgroud)

  • 欢迎并提出好的建议!如果您可以解释为什么这样做有效,或者确认这相当于常规导入,那么这将有助于改善未来读者的体验。谢谢! (3认同)

小智 9

如果您在 Windows 上遇到此问题,请查看已安装的扩展。我的两台 Windows 机器上都遇到了这个问题。我注意到我安装了两个扩展:Pylance 和 Intellisense (Pylance)。卸载 Pylance 并保留智能感知 (Pylance) 解决了问题。


Flo*_*lla 5

就我而言,问题在于所使用的 Python 解释器是默认解释器,而不是虚拟环境解释器。我已经激活了 venv 并安装了 requests 包,但仍然收到错误消息。所以我检查了右下角,发现默认的“全局”解释器被选中:

Python版本

我所要做的就是切换到虚拟环境中的解释器(它甚至显示为“推荐”): 推荐译员

它会自动开始识别包(不需要 VSCode 重新启动或任何其他操作)。