如果 venv 文件夹安装在子目录中,为啥 VSCode 不检测 venv?

Posted

技术标签:

【中文标题】如果 venv 文件夹安装在子目录中,为啥 VSCode 不检测 venv?【英文标题】:Why does VSCode not detect venv if the venv folder is installed inside a subdirectory?如果 venv 文件夹安装在子目录中,为什么 VSCode 不检测 venv? 【发布时间】:2022-01-23 05:57:15 【问题描述】:

我一直在使用 FastAPI,当单独完成时,venv 与 VSCode 配合得很好。

如果我创建一个全栈应用程序,编辑器不会检测到它(默认为常规 Python 3.9.4),并且无法找到一些 Python 导入。我尝试寻找它并且 venv 没有出现。如果我已经激活它也没关系(小venv图标出现在终端上)。

这是简化文件夹结构的方式:

全栈应用

.git 前端 后端 main.py venv

我什至尝试按照其他答案中的一些建议在主目录上运行 code. 并且没有继续(只是 Python 3.9.4。但是,如果我 cd 进入后端然后运行 ​​code . 解释器默认为正确的 venv .

对于这种情况的正确做法是什么,以便我可以创建一个全栈应用程序并在顶层打开项目而不会遇到 venv 的任何问题?

【问题讨论】:

【参考方案1】:

对不起,我在本地测试,但是可以检测到子文件夹虚拟环境。

如果还是不行,可以在User settings.json文件中设置python.venvPath

位于由 python.venvPath 设置(请参阅常规设置),其中可以包含 多个虚拟环境。扩展寻找虚拟 venvPath 的一级子文件夹中的环境。

您可以从official docs获取更多信息。

【讨论】:

以上是关于如果 venv 文件夹安装在子目录中,为啥 VSCode 不检测 venv?的主要内容,如果未能解决你的问题,请参考以下文章

脚本移动到创建 venv 后的子目录,无法找到最初安装的 pip 包

python venv下安装mysql出错 解决方法

python3 venv 虚拟环境使用方法

哪一个是我真正的python解释器(vsc)?

python轻量框架--Flask(入门教程)

安装类型后刷新 VSC 中的错误