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'
。
- 使用 Visual Studio 代码,今天独立安装 Python x64 3.7.4
- Python 扩展安装在 VSCODE
- venv 在 VSCODE 中作为 VSCODE 终端工作区的子文件夹创建,并在创建时被 VSCODE 识别,我在 VSCODE 中使用 venv 解释器,如图所示在底栏上
- 运行
pip install requests
在终端内 VSCODE - 成功完成
- 运行
pip freeze
确认请求==2.22.0 已注册
- 已验证 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:
运行 在终端中:ctrl + F5
在设置中添加以下内容json:
“代码-runner.executorMap”:{
"python": "$pythonPath -u $fullFileName"
}
我有 1 个文件,我得到了第 1 行 import requests
,仅此而已,我收到了以下内容 error ModuleNotFoundError: No module named 'requests'
。
- 使用 Visual Studio 代码,今天独立安装 Python x64 3.7.4
- Python 扩展安装在 VSCODE
- venv 在 VSCODE 中作为 VSCODE 终端工作区的子文件夹创建,并在创建时被 VSCODE 识别,我在 VSCODE 中使用 venv 解释器,如图所示在底栏上
- 运行
pip install requests
在终端内 VSCODE - 成功完成 - 运行
pip freeze
确认请求==2.22.0 已注册 - 已验证 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:
运行 在终端中:ctrl + F5
在设置中添加以下内容json: “代码-runner.executorMap”:{
"python": "$pythonPath -u $fullFileName"
}