Linux 上可移植的 VS Code 仍然使用本地用户文件夹而不是环境文件夹,因此导入失败

use*_*631 5 python visual-studio-code

我用 venv 创建了一个虚拟环境。

venv --python=/workspace/dev/python3.9 /var_path/var_virtual_env
Run Code Online (Sandbox Code Playgroud)

在 Visual Studio Code(便携式版本 -Linux)中,我设置了:

"python.venvPath": "/var_path/var_virtual_env",
"python.formatting.provider": "black"
Run Code Online (Sandbox Code Playgroud)

VSCode中看到的环境:

在此处输入图片说明

在此处输入图片说明

带有 python 内置函数的代码可以正常工作。

从使用激活虚拟环境的 VS Code 终端,pip我安装了不同的包,我希望这些包被导入到虚拟环境中,但似乎它们安装在/home/user_name/local/lib/python3.6.

我还注意到诸如pylint.detc之类的配置在“本地”中位于同一位置。pylint 是通过 VSCode 设置的。

为了修复它,我在 VSCode 之外的环境中安装了这些包,但编辑器看不到它们。示例httpx

在此处输入代码

但是他们在环境中,pip freeze 输出:

在此处输入图片说明

我怎样才能解决这个问题 ?

Rob*_*ard 4

在激活了猩红环境的终端中,复制 的输出which python

settings.json在下面一行中设置:

{
    "python.pythonPath": "paste_the_output_here"
    ....
}
Run Code Online (Sandbox Code Playgroud)

我不知道它是否适用于你的情况,但这对我来说有好几次效果。