首页 > 解决方案 > 如何通过命令行在 VS Code 中访问更新的 Python 3.9?

问题描述

我这周刚刚下载了 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.")

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

有谁知道到底发生了什么,以及如何通过命令行执行 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 位作为我的解释器。

标签: pythonvisual-studio-codevscode-settingsinterpreter

解决方案


在 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 运行代码(使用 Run without Debugging 或 Control + F5),VS Code 将使用选定的解释器。


推荐阅读