Python 的 VS Code 文档是否真的意味着您不应该将虚拟环境作为工作区打开?

Does the VS Code documentation for Python really mean you shouldn't open a virtual environment as a workspace?

Using Python environments in VS Code 的 VS Code 文档显着包含此警告:

Note: While it's possible to open a virtual environment folder as a workspace, doing so is not recommended and might cause issues with using the Python extension.

这个警告可能意味着什么? 更新:我想这就是它所说的意思;查看我对自己问题的回答。我会这样重写警告:

Note: Your Python virtual environment should always be a subdirectory within a VS Code workspace. Opening the virtual-environment folder directly, as the root of the workspace, might cause problems.


[原题,续]

据我所知,according to VS Code's explanation of what a "Workspace" is,打开一个根文件夹相当于打开一个“工作区”(根据文档:“在大多数情况下,您将打开一个文件夹作为工作区……”)。它 真的 意味着我们应该在虚拟环境中工作 而无需 “打开[ing] 虚拟环境文件夹作为工作区”吗?这让我觉得这是一个完全普通的工作流程。替代方案——将虚拟环境添加为工作空间中的子目录——似乎毫无意义地复杂。

例如,假设我有一个名为 newvenv 的虚拟环境,我想在其中工作。我可能会通过导航到 shell 中的 newvenv 文件夹并输入 code . 或使用 VS Code GUI,执行 File→Open Folder→newvenv 来打开 VS Code 。无论哪种情况,我都会得到一个以虚拟环境文件夹为根的工作区,如 post 底部所示。然而 VS Code 说明似乎警告不要这样做。

我唯一的猜测是警告 可能意味着 ,“不要在虚拟环境中打开 子文件夹 作为工作区。 “我试过这样做,但没有出现任何明显的错误,我什至不知道为什么有人 想要 这样做,所以我很难理解为什么这样做值得一个突出的警告。但我不想只是猜测警告的含义。

我为什么关心:我正在写我自己的博客 post 关于使用 Python 和 VS Code,我想确保我的说明是准确的。我打算写一些比人们在网上找到的大多数教程更深入的东西。


回答:是的。我不知道为什么 VS Code警告不要打开Python虚拟环境作为你的工作区的根目录——也就是说,我不知道这样做可能会导致什么问题——但显然文档就是它所说的。正如我在编辑过的问题中指出的那样,我会修改 VS Code 文档说:

Note: Your Python virtual environment should always be a subdirectory within a VS Code workspace. Opening the virtual-environment folder directly, as the root of the workspace, might cause problems.

我找不到对此的任何直接确认,但我认为它由下面的屏幕截图间接确认,取自 video by Anthony Shaw on the VS Code Youtube channel. These show that Shaw 创建他的虚拟环境作为他的工作区的子目录。

简而言之,Python 项目的工作区应如下所示 (from another Youtube video):