VSCode Jupyter Notebooks Python 版本和环境的问题

VSCode issue with Python versions and environments from Jupyter Notebooks

问题: 我遇到 Python 的环境和版本问题,与 VSCode 中的设置不匹配,导致我的包出现问题我正在尝试在 Jupyter 笔记本中使用。我正在使用 Windows 10 机器,安装了 Python 3.9.1(包括旧版本),Visual Studio Code 1.52.1。简短摘要 - 我使用 pip 安装了一个包。我的猜测是它与最新版本的 Python 相关联。我在 VS Code 中为该版本的 python 设置了一个解释器,并尝试导入该包。未找到包。如果我从 Jupyter notebook 调用 sys.version,我会看到 Python 的默认版本是 运行ning (3.8.5)。简单的笔记本报错,因为它找不到我用 pip 安装的那个包。

显示关联的屏幕截图:

只有

才能重现此错误
import pygmt

笔记本中的命令,即它不依赖于导入的其他包。

问题:如果更改解释器不起作用,我如何控制 Jupyter notebooks 在 VSCode 中 运行 的版本?我发现的所有其他类似问题都是由于没有选择正确的解释器造成的。在这种情况下,我有。为什么不 运行 那个版本的解释器?

谢谢。

编辑 此编辑是对@Jill Cheng 的回答的回应(请参阅下面我对 tl;dr 的评论)。我可以更改解释器(VSCode 的左下角)以匹配 VSCode 想要 运行 的默认值。没问题。 但是还是有问题。

  1. 我无法将目标包 pygmt 安装到此版本的 Python 中(请参阅终端中的命令)。
  2. 我无法使 VSCode 以相反的方向运行 - 即我永远无法将其转换为 运行 Python 3.9.1,即使我选择的是解释器。

我已经重装了VSCode好几次了,Python3.8.5似乎一直是默认的。对我来说,最简单的解决方案似乎是更改 VSCode 的默认 Python 版本 - 事实上,这不是选择解释器的重点吗?我更不清楚为什么我不能将 pygmt 安装到 Python 3.8.5 中,而且我不知道拥有多个不同版本的 Python 是否有益(或者这是Python 用户每天处理什么?)。

在 VS Code 中,Jupyter Notebook 使用的 Python 内核(Python 环境)可以独立于我们在 VS Code 中 select 编辑的 Python 环境(显示在VS Code的左下角)。

如屏幕截图中的输出所示,您使用的 Jupyter 的 Python 内核是“Python3.8.5”,但此环境中未安装模块“pygmt”。 (Jupyter 默认使用最后一个 selected Python 环境。)

解决方法:点击Jupyter notebook右上角Python内核,select已安装模块“pygmt”的python环境。另外,建议大家在切换完Jupyter的Python内核后,重新打开jupyter文件,这样可以重新加载新的python内核。

参考:Jupyter notebooks in VS Code.