繁体   English   中英

ModuleNotFoundError:在 vscode 中没有使用 venv 的模块名为“请求”

[英]ModuleNotFoundError: No module named 'requests' using venv in vscode

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

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

我无法弄清楚为什么 VSCODE python 解释器无法识别请求已安装

您是否检查过您的用户和工作区设置?

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

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

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

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

python --version

并通过单击左下角检查 python 版本 vscode IDE 使用。 在此处输入图像描述

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

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

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

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

某处有文档说要运行我后来发现Set-ExecutionPolicy -ExecutionPolicy RemoteSigned ,但很高兴知道这是一个要求。

本地是否存在多个 python 环境? 也许尝试:

pip3.7 install requests

在 windows 10 下,两种方法对我有用:

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

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

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

    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM