VS 代码没有 select 来自 .venv 的解释器

VS code doesn't select interpreter from .venv

VS 代码在 运行 代码 (CTRL + ALT + N) 时不使用我的虚拟环境,我不确定为什么。 运行 python 终端中的文件(来自 vs 代码)在我激活 venv (source .venv/bin/active) 后工作正常。

我认为 VS Code 可以看到 .venv 目录,因为它弹出并生成了一个 settings.json 文件,因为 VS Code 中的 linter 使用 .venv 文件。 venv.

我可以通过在我的所有脚本中使用我不想要的 hacky shebang 来解决单个文件的问题。

我尝试在命令面板中设置 Python: Select Interpreter,但它只是跳回默认 (python 2.7) 环境。我不确定这种行为的原因可能是什么。

项目目录

.
├── .venv
│   ├── bin
│   ├── include
│   ├── lib
│   ├── lib64
│   └── pyvenv.cfg
├── .vscode
│   └── settings.json
└── main.py

pyvenv.cfg

home = /opt/miniconda/bin
include-system-site-packages = false
version = 3.9.1

settings.json

{
    "python.pythonPath": ".venv/bin/python",
}

main.py

import sys

print(sys.executable)

/usr/bin/python

main.py(使用 shebang 修复)

#!./.venv/bin/python

import sys

print(sys.executable)

/path/to/project/.venv/bin/python

我正在使用 VS Codium ,我不确定问题是否是错误,或者我是否遗漏了什么。

VSCodium 版本

Version: 1.59.0
Commit: 379476f0e13988d90fab105c5c19e7abc8b1dea8
Date: 2021-08-16T22:01:21.014Z
Electron: 13.1.7
Chrome: 91.0.4472.124
Node.js: 14.16.0
V8: 9.1.269.36-electron.0
OS: Linux x64 5.9.16-1-MANJARO

如果我正确理解 github 上的 this 问题,Run Code 取决于 .py 文件的 OS 文件类型关联。 Python: Run Python File in Terminal 使用在工作区中选择的解释器。因此,通过将 ctrl + alt + n 击键重新分配给 Python: Run Python File in Terminal 而不是 Run Code.

来解决问题

可以通过在 文件 > 首选项 > 键盘快捷键 下删除键击 ctrl + alt + n 来重新分配键击,然后添加Python: Run Python File in Terminal 命令的快捷方式。阅读 manual 以获取有关更新键绑定的更多信息。