首页 > 解决方案 > Linux 上可移植的 VS Code 仍然用于包本地用户文件夹而不是环境文件夹,因此导入失败

问题描述

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

venv --python=/workspace/dev/python3.9 /var_path/var_virtual_env

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

"python.venvPath": "/var_path/var_virtual_env",
"python.formatting.provider": "black"

在 VSCode 中可以看到环境:

在此处输入图像描述

在此处输入图像描述

带有 python 内置插件的代码可以正常工作。

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

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

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

在此处输入代码

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

在此处输入图像描述

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

标签: pythonvisual-studio-code

解决方案


在激活了 Scarlette 环境的终端中,复制which python.

settings.json以下行中设置:

{
    "python.pythonPath": "paste_the_output_here"
    ....
}

我不知道它是否适用于您的情况,但这对我有用几次。


推荐阅读