Visual Studio 代码覆盖集成终端中的 python 解释器
Visual Studio Code overrides python interpreter in integrated terminal
当启动一个 Visual Studio 代码的集成终端时,Python 项目的代码依赖于它自己的虚拟环境,python 二进制文件的路径保持不变。也就是说,集成终端的输出如下(启动后):
user@host:~/repos/project$ source /home/user/repos/project/.env/bin/activate
(.env) user@host:~/repos/project$ which python
/usr/bin/python
(.env) user@host:~/repos/project$ which python3
/usr/bin/python3
(.env) user@host:~/repositories/karbon/kuring$ echo $PATH
/home/user/repos/project/.env/bin:/home/user/local/bin:/home/user/.cargo/bin:/home/user/local/bin:/home/user/. cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
虚拟环境在项目设置中配置如下:
.vscode/settings.json:
{"python.pythonPath": ".env/bin/python",}
已在命令面板中选择解释器指向相同的文件路径。
It is strange that even running "source .env/bin/activate" in a separate terminal seems to be loading the virtual environment, but the Python path remains unaltered.
问题:VS Code 不应该从虚拟环境而不是从操作系统加载解释器吗?
请注意,与在 VS 代码外的常规 BASH 终端相比,我在使用虚拟环境时没有问题。
您应该在 settings.json:
中添加对您的工作文件夹的引用
.vscode/settings.json:
{"python.pythonPath": "${workspaceFolder}/.env/bin/python",}
当启动一个 Visual Studio 代码的集成终端时,Python 项目的代码依赖于它自己的虚拟环境,python 二进制文件的路径保持不变。也就是说,集成终端的输出如下(启动后):
user@host:~/repos/project$ source /home/user/repos/project/.env/bin/activate
(.env) user@host:~/repos/project$ which python
/usr/bin/python
(.env) user@host:~/repos/project$ which python3
/usr/bin/python3
(.env) user@host:~/repositories/karbon/kuring$ echo $PATH
/home/user/repos/project/.env/bin:/home/user/local/bin:/home/user/.cargo/bin:/home/user/local/bin:/home/user/. cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
虚拟环境在项目设置中配置如下:
.vscode/settings.json:
{"python.pythonPath": ".env/bin/python",}
已在命令面板中选择解释器指向相同的文件路径。
It is strange that even running "source .env/bin/activate" in a separate terminal seems to be loading the virtual environment, but the Python path remains unaltered.
问题:VS Code 不应该从虚拟环境而不是从操作系统加载解释器吗?
请注意,与在 VS 代码外的常规 BASH 终端相比,我在使用虚拟环境时没有问题。
您应该在 settings.json:
中添加对您的工作文件夹的引用.vscode/settings.json:
{"python.pythonPath": "${workspaceFolder}/.env/bin/python",}