[英]Why does VSCode not detect venv if the venv folder is installed inside a subdirectory?
[英]VSCode does not recognize venv
当我使用 venv python 包创建新项目和虚拟环境时,VSCode 无法识别新的虚拟环境。 我遵循以下说明:
https://code.visualstudio.com/docs/python/environments
我在 VSCode 集成终端中使用的命令是:
python -m venv .venv
我使用的终端是 PowerShell 7,但我也尝试了 CMD 终端。
运行此命令后,.venv 文件夹在工作区中创建得非常好,我在终端上检查了它的行为。
我尝试使用 conda 包管理器创建一个 venv 并且 VSCode 识别它。 问题仅在于 venv Python 包。
我也尝试了另一个Python版本来创建venv,但问题仍然存在。
我读了这个问题:
如何在 Visual Studio Code 中为 Python 设置虚拟环境?
我知道如何手动添加环境,但我希望 VSCode 能够自动识别我的环境。
我将这些行添加到 settings.json (首选项):
"python.venvPath": "~/.venv",
"python.venvFolders": [
"~/.venv/Scripts"
]
我使用 VSCode 集成终端手动激活了 venv。
问题仍然没有解决。
这是我的问题的截图:
我知道如何手动添加环境,但我希望它是自动的。
我在另一台 PC 上尝试了 VSCode,它成功了; 除了 venv 的存在,它不需要做任何事情。
VSCode 版本:1.58.0 Python 扩展版本:v2021.6.944021595
“python.venvPath”应设置为.venv
文件夹的parent folder
夹。
位于由 python.venvPath 设置标识的文件夹中的虚拟环境(请参阅常规设置),其中可以包含多个虚拟环境。 该扩展在venvPath 的第一级子文件夹中查找虚拟环境。
但是,您不需要设置它。 Python 扩展应该会找到venv
环境,因为它就位于您的工作区文件夹下。
虚拟环境直接位于工作区(项目)文件夹下。
我在本地尝试过,它也不起作用。 它只会显示缓存的环境路径,“python.venvPath”也不起作用。
并且解释器存储有一些变化:
引入了 VSCode 内部存储,它现在将解释器设置存储在工作区和工作区文件夹范围内。
您可以参考 这里了解更多详情。
所以,现在建议手动选择环境路径。
在 VS CodeTerminal 中编写此命令后
python -m venv env
你可以简单地使用
.\env\Scripts\Activate
在您创建虚拟环境的同一目录路径中。
出于某种原因,VSCode 卸载了我所有的 Python 扩展,包括主要的 Python 扩展。 重新安装它们后,它能够再次检测到我的 virtualenvs。
所以我遇到了同样的问题,我通过以下方式解决了它,
1. 在 VSCode 中打开设置。
2.搜索“python.terminal.activateEnvironment”
3. 如果未选中/未选中,则选中/选中“用户”和“工作区”。
问题不在于 VSCode,而在于我正在处理的工作区设置。 只是改变了这一点,瞧,它就像一个魅力。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.