首页 > 解决方案 > Jupyter Notebooks 中 Python 版本和环境的 VSCode 问题

问题描述

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

显示关联的屏幕截图: 带有注释的 VSCode 屏幕截图。 import sys 在笔记本中以蓝色圈出,然后有一个箭头向下显示 print(sys.version) 为 3.8.5 的输出(默认,2020 年 9 月 3 日,21:29:08)。 另一个蓝色箭头表示解释器设置为 Python 3.9.1。 一组红色箭头显示 import pygmt 命令,红色箭头跟踪调用错误 ModuleNotFoundError: No module named 'pygmt'。 另一个红色箭头表示 pygmt 0.2.1 安装在终端的 pip list 命令下

仅使用

import pygmt

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

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

谢谢你。

编辑 此编辑是对@Jill Cheng 的回答的回应(请参阅下面的我的评论以获得 tl;dr)。我可以更改解释器(VSCode 的左下角)以匹配 VSCode 想要运行的默认值。没问题。屏幕截图显示可以更改解释器(左下角)以匹配默认的 VSCode Python 版本。 但是,我无法将所需的包安装到这个版本的 Python 中,如终端所示。 但仍然存在问题。

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

我现在已经重新安装了好几次 VSCode,Python 3.8.5 似乎总是默认的。对我来说,最简单的解决方案似乎是更改 VSCode 的默认 Python 版本——事实上,这不是选择解释器的重点吗?对我来说更模糊的是为什么我不能将 pygmt 安装到 Python 3.8.5 中,而且我不知道拥有多个不同版本的 Python 是否有好处,它们都带有不同的包(或者这正是 Python 用户每天处理的事情? )。

标签: pythonvisual-studio-codejupyter-notebookversionenvironment

解决方案


在 VS Code 中,Jupyter notebook 使用的 Python 内核(Python 环境)可以独立于我们在 VS Code 中选择的 Python 环境(如 VS Code 左下角所示)。

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

解决方法:在Jupyter notebook中点击右上角的Python内核,选择已经安装了模块“pygmt”的python环境。另外,建议您在切换 Jupyter 的 Python 内核后重新打开 jupyter 文件,以便重新加载新的 Python 内核。

在此处输入图像描述

参考:VS Code 中的 Jupyter 笔记本


推荐阅读