如何通过命令行在 VS Code 中访问更新的 Python 3.9?

mar*_*arg 0 python interpreter visual-studio-code

我本周刚刚下载了 VS Code,在访问不同版本的 Python 时遇到了问题。

当我通过python set.py从命令行运行名为set.py的 python 文件时,VS Code 正在访问我的 MacBook 附带的 Python 2.7 版本。当我运行python --version时,它确认 VS Code 使用的是 Python 2.7.16。

但是,当我在编辑器中右键单击并选择“在终端中运行 Python 文件”时,它似乎使用的是更新版本 3.9.4。我已经使用 fstring 对此进行了测试(在 3.9 中可用,但在 2.7 中不可用)。fstring 代码在第一个方法中引发错误,但在第二个方法中则正常清除。这是我的代码:

s = set()

s.add(1)
s.add(2)
s.add(3)

print(f"The set has {len(s)} elements.")
Run Code Online (Sandbox Code Playgroud)

这是我的终端,显示了两种方法的结果。

有谁知道到底发生了什么,以及如何通过命令行执行 python 文件?

TIA

眼镜:

我正在运行 VS Code 1.55.2 并将 Python 3.9.4 下载到运行 Big Sur 11.2.3 的 MacBook Pro

我还在 VS Code 中下载了 Python 扩展,并选择了 Python 3.9.4 64 位作为我的解释器。

use*_*663 6

在 macOS 和 Linux 上,您将拥有一个往往很旧的系统 python,并且您不想碰它,因为有系统实用程序依赖它。

您还将拥有用户安装的 python,这里是 python 3.9。

如果系统 python 是 python2,则该命令python通常会调用 python2,而该命令python3将调用 python3。

在 Windows 上的 VS Code 中,当您从 IDE 启动终端窗口时,它将激活您为项目选择的解释器/环境(通常按 CTRL-SHIFT-P,然后按 Python:选择解释器)。我注意到在 Linux 上它不会这样做(在 macOS 上也可能是这种情况),所以如果我想使用特定版本或环境,我需要指定它或激活它作为我在终端有类似的东西conda activate myenvname

与终端不同,如果直接从 IDE 运行代码(使用“运行而不调试”或 Control + F5),VS Code 将使用选定的解释器。