【问题标题】:VSCode issue with Python versions and environments from Jupyter NotebooksJupyter Notebooks 中 Python 版本和环境的 VSCode 问题
【发布时间】:2021-05-01 22:55:23
【问题描述】:

问题:我遇到了环境和 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 安装的那个包。

显示关联的屏幕截图:

此错误仅可重现

import pygmt

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

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

谢谢。

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

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

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

【问题讨论】:

  • 同样的事情也发生在我身上。尝试重新安装 VS Code。使用最新的 64 位安装,因为您有 64 位 python。也许考虑早点备份您的设置,使用settings-sync
  • 重新安装 VSCode 产生了完全相同的结果。设置同步也没有帮助 - 我无法使用我的 GitHub 登录。感谢您的建议,但我仍然处于这个问题的中间。

标签: python visual-studio-code jupyter-notebook version environment


【解决方案1】:

在 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内核。

参考:Jupyter notebooks in VS Code

【讨论】:

  • 谢谢吉尔。我能够遵循您的建议,并且它使 Python 内核(左下角)与代码 sn-p 中的print(sys.version) 的输出相匹配。但是,有问题的包 pygmt 在该版本中不可用。请参阅上面我编辑的问题中的屏幕截图。因此,这是一个岔路口。我是专门为 Python 3.8.5 安装 pygmt,这似乎是 VSCode 的默认设置,还是我尝试找出如何将 VSCode 的默认设置实际更改为 Python 3.9.1?到目前为止,答案是否定的。我也做不到(见已编辑问题中的屏幕截图)
  • @brosenheim - 模块“pygmt”安装在哪个 Python 环境中?为什么你不能使用安装了这个模块的python环境?关于默认的python解释器,VS Code默认使用最后选择的环境。如果没有选择,VS Code 将使用第一个 python 环境变量。是的,太多的python环境确实不好管理,建议大家尝试使用virtual envronments
  • 该模块安装在 python 版本中,该版本在我的原始帖子的第一个屏幕截图中被选为解释器 - 3.9.1。我无法在 3.8.5 中安装它,如我原始帖子的第二个屏幕截图所示。这就是令人沮丧的地方——我知道它就在那里,我告诉 VSCode 使用什么版本,而 VSCode 没有听输入。我将研究创建一个虚拟环境。
  • @brosenheim - 你是如何在“Python3.9”中安装模块“pygmt”的?在这个线程中,我们主要讨论 Jupyter 中的 python 版本。这个问题解决了吗?
  • @brosenheim -在VS Code中,我们可以点击Jupyter右上角,选择需要的python内核。
猜你喜欢
  • 2023-04-04
  • 2021-09-29
  • 2019-03-15
  • 2021-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-15
相关资源
最近更新 更多