VS Code 在解释器上找不到虚拟环境,但是在集成终端上可以找到
VS Code cannot find virtual environment on the interpreter, but can find it on integrated terminal
我的 Linux 机器上安装了一个完全可用的虚拟环境。
这个venv可以被终端在VS code调用中正常使用source /mypath/venv/bin/activate
.
问题是 VS 代码中的 Python 解释器无法访问虚拟环境中的任何包,尽管已按照大多数指南中的描述在解释器上设置路径。
我决定在.vscode
文件夹里面的settings.json
文件里面手动设置路径如下:
{
"python.pythonPath": "/mypath/venv/bin/python3.8"
}
venv 仍然无法通过解释器访问。还有其他建议吗?
您实际上不需要 settings.json 文件。我最近也遇到了很多问题。
您可以尝试通过
删除 .venv 文件夹并创建一个新文件夹
python -m venv .env
似乎 vs code 已经将一些东西从 .venv 更改为 .env。我不知道为什么。
完成后 python -m venv .env
在 vs 代码中打开终端,它将激活你的 .env。
你可以(如果你冻结了你的 pip 安装)做一个 pip install -r requirements.txt
就可以了。
“python.envFile”设置的默认值是“${workspaceFolder}/.env”,将其更改为“${workspaceFolder}/.venv”并重新启动vscode。
我会回答我自己的问题。
结果我的 pip
安装指向的路径(标准 /home/username/.local/bin/pip
)与我的 venv
目录(/my_path/venv/bin/pip
)不同。
执行命令which pip
.
即可显示路径
在我非常具体的情况下,当我第一次设置我的 Linux 机器时有一些 mix-up,这意味着 venv
只安装了少量的包,而目录包含 Python 库并且实际使用的是 pip
路径。换句话说,激活 venv
没有任何区别,因为 Python 库是从 pip
路径加载的。
所以,首先我必须确保 pip
必须指向我的 venv
文件夹,方法是修改 /home/username/
中的 .bashrc
文件,替换
export PYTHONPATH=/home/username/.local/lib/python3.8
export PATH=/home/username/.local/bin:$PATH
和
export PYTHONPATH=/my_path/venv/lib/python3.8/
export PATH=/my_path/venv/bin:$PATH
之后我所要做的就是 re-installing 较新的 venv
中的每个必需包(从旧的 pip
路径生成 requirements.txt
文件有帮助) .
然后我在 VS Code 解释器中选择了 venv
路径,现在一切正常。
我的 Linux 机器上安装了一个完全可用的虚拟环境。
这个venv可以被终端在VS code调用中正常使用source /mypath/venv/bin/activate
.
问题是 VS 代码中的 Python 解释器无法访问虚拟环境中的任何包,尽管已按照大多数指南中的描述在解释器上设置路径。
我决定在.vscode
文件夹里面的settings.json
文件里面手动设置路径如下:
{
"python.pythonPath": "/mypath/venv/bin/python3.8"
}
venv 仍然无法通过解释器访问。还有其他建议吗?
您实际上不需要 settings.json 文件。我最近也遇到了很多问题。
您可以尝试通过
删除 .venv 文件夹并创建一个新文件夹python -m venv .env
似乎 vs code 已经将一些东西从 .venv 更改为 .env。我不知道为什么。
完成后 python -m venv .env
在 vs 代码中打开终端,它将激活你的 .env。
你可以(如果你冻结了你的 pip 安装)做一个 pip install -r requirements.txt
就可以了。
“python.envFile”设置的默认值是“${workspaceFolder}/.env”,将其更改为“${workspaceFolder}/.venv”并重新启动vscode。
我会回答我自己的问题。
结果我的 pip
安装指向的路径(标准 /home/username/.local/bin/pip
)与我的 venv
目录(/my_path/venv/bin/pip
)不同。
执行命令which pip
.
在我非常具体的情况下,当我第一次设置我的 Linux 机器时有一些 mix-up,这意味着 venv
只安装了少量的包,而目录包含 Python 库并且实际使用的是 pip
路径。换句话说,激活 venv
没有任何区别,因为 Python 库是从 pip
路径加载的。
所以,首先我必须确保 pip
必须指向我的 venv
文件夹,方法是修改 /home/username/
中的 .bashrc
文件,替换
export PYTHONPATH=/home/username/.local/lib/python3.8
export PATH=/home/username/.local/bin:$PATH
和
export PYTHONPATH=/my_path/venv/lib/python3.8/
export PATH=/my_path/venv/bin:$PATH
之后我所要做的就是 re-installing 较新的 venv
中的每个必需包(从旧的 pip
路径生成 requirements.txt
文件有帮助) .
然后我在 VS Code 解释器中选择了 venv
路径,现在一切正常。