ModuleNotFoundError: No module named 'requests' using venv in vscode

ModuleNotFoundError: No module named 'requests' using venv in vscode

我有 1 个文件,我得到了第 1 行 import requests,仅此而已,我收到了以下内容 error ModuleNotFoundError: No module named 'requests'

  1. 使用 Visual Studio 代码,今天独立安装 Python x64 3.7.4
  2. Python 扩展安装在 VSCODE
  3. venv 在 VSCODE 中作为 VSCODE 终端工作区的子文件夹创建,并在创建时被 VSCODE 识别,我在 VSCODE 中使用 venv 解释器,如图所示在底栏上
  4. 运行 pip install requests 在终端内 VSCODE - 成功完成
  5. 运行 pip freeze 确认请求==2.22.0 已注册
  6. 已验证 pylint 已安装在 venv 中

我不明白为什么 VSCODE python 解释器无法识别已安装请求

本地是否有多个python环境? 也许试试:

pip3.7 install requests

感谢您的回复。几个小时后我发现了我自己的问题。

首先,我在某个地方发现,当我在 VSCODE 中 运行ning 终端时,它 运行ning 是针对全局解释器的。然后我尝试 ./pip freeze 并且它按预期工作。这告诉我终端连接到错误的解释器。

出于某种原因,当我 'run' 它在终端中执行的文件时,它不是 'activating' venv。我已经关闭并重新打开 VSCODE 很多次,但由于某种原因,当我关闭终端 window 并使用 CTRL+SHIFT+' 重新打开时,当它尝试使用激活我的 venv 时,我收到了有关签名脚本的错误PS1 脚本。我在普通 PowerShell window 中 运行 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 然后在 VSCODE 中重新打开终端 window 并且它成功激活了我的 venv 我知道我的 venv 名称位于终端行的开头。然后我 运行 'pip freeze' 确认在 venv 中安装了哪些模块,然后在普通的 powershell window 中再次 运行 并且它是不同的。

某处有文档说 运行 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 我后来发现了,但如果知道这是一项要求就好了。

尝试在 vscode 终端中获取 python 版本

python --version

并通过单击左下角检查使用的 python 版本 vscode IDE。

确保这两个版本一致。如果不是,select IDE 的版本与您终端的相同版本。

您检查过您的用户和工作区设置了吗?

确保您的工作区设置(不是您的用户设置)指向您项目的 venv 路径。

我遇到了与您类似的问题,但能够通过更改工作区设置 python 路径以指向我的 venv 路径来解决,如下所示。

{
    "python.pythonPath": "${workspaceFolder}/code/venv/bin/python"
}

2 种方式适合我,在 windows 10:

  1. 运行 在终端中:ctrl + F5

  2. 在设置中添加以下内容json: “代码-runner.executorMap”:{

    "python": "$pythonPath -u $fullFileName"

    }