boxmoe_header_banner_img

Hello! 欢迎来到悠悠畅享网!

文章导读

查看Python版本如何在JupyterNotebook中查询 查看Python版本的Notebook操作技巧​


avatar
站长 2025年8月13日 1

最直接的方法是在jupyter notebook的代码单元格中运行import sys; print(sys.version)来查看当前内核所使用的python版本,该命令会输出完整的版本信息及编译细节,若需简洁版本号可使用import platform; print(platform.python_version()),而jupyter通过“内核”机制关联不同的python环境,每个内核对应一个独立的python解释器和依赖集合,因此可通过sys.executable确认当前内核路径,并通过在对应虚拟环境中安装ipykernel并注册内核来添加新环境,切换内核可在notebook的kernel菜单中完成,避免混淆全局python版本与内核环境的关键是始终在目标环境中安装包或使用!pip install在notebook内执行安装,从而确保依赖正确匹配当前运行环境,这一机制有效支持多项目多版本的隔离管理。

查看Python版本如何在JupyterNotebook中查询 查看Python版本的Notebook操作技巧​

在Jupyter Notebook中查看当前Python版本,最直接的方法就是在代码单元格里运行几行简单的Python代码。这能让你快速了解当前Notebook会话所使用的Python解释器版本,对于排查环境问题或确认依赖关系至关重要。

解决方案

打开你的Jupyter Notebook,无论是新建一个文件还是打开一个已有的。在一个代码单元格中,输入以下代码:

import sys print(sys.version)

运行这个单元格(通常是选中单元格后按

Shift + Enter

)。输出会立即显示当前Jupyter Notebook内核所使用的Python版本信息,包括主版本、次版本、修订版本以及编译细节。

立即学习Python免费学习笔记(深入)”;

如果你需要更简洁的版本号,或者想获取更多关于Python构建环境的信息,也可以尝试使用

platform

模块:

import platform print(platform.python_version())  # 仅显示版本号,如 '3.9.7' print(platform.python_build())    # 显示构建号和日期 print(platform.python_compiler()) # 显示编译器的信息

这些方法能让你一眼看出当前环境的Python版本,这在很多时候是解决“为什么我的代码在这里能跑,那里就报错”这类问题的起点。

Jupyter Notebook中的内核(Kernel)与Python环境有何关联?

刚开始用Jupyter Notebook的朋友,可能会有点困惑:我明明在系统里装了Python 3.10,为什么Jupyter里跑的却是3.9?或者,我的某个项目需要Python 3.7,另一个需要3.9,Jupyter怎么处理?这背后的核心概念就是Jupyter的“内核”(Kernel)。

简单来说,Jupyter Notebook本身只是一个Web应用,它提供了一个交互式的界面。实际的代码执行,是交给它所连接的“内核”来完成的。对于Python Notebook而言,每个内核都对应一个特定的Python执行环境,通常就是一个独立的Python虚拟环境(比如通过Conda或venv创建的)。当你启动一个Notebook文件时,你选择了一个内核,这个内核就会连接到它所关联的Python环境,并使用该环境中的Python解释器、以及该环境下安装的所有库。

这种设计非常巧妙,它允许你在同一台机器上管理和运行多个独立的Python项目,每个项目都可以拥有自己专属的Python版本和依赖库集合,互不干扰。这对于避免“依赖地狱”——即不同项目间库版本冲突——简直是救星。你可以为老项目维护一个Python 3.7的环境,同时为新项目使用Python 3.10,并在Jupyter中轻松切换。

你可以在Jupyter Notebook界面右上角看到当前正在使用的内核名称。更进一步,在终端运行

jupyter kernelspec list

命令,可以查看所有已注册到Jupyter的内核及其对应的路径,这能让你更清晰地了解你的Jupyter都“认识”哪些Python环境。

如何为Jupyter Notebook添加或切换Python环境?

既然Jupyter的强大之处在于能管理多个Python环境,那么如何添加新的环境并进行切换就成了关键。

添加新的Python环境作为Jupyter内核:

如果你使用Conda管理环境,流程如下:

  1. 创建新环境并指定Python版本:
    conda create -n my_new_env python=3.10
  2. 激活新环境:
    conda activate my_new_env
  3. 在新环境中安装
    ipykernel

    ipykernel

    是Jupyter连接Python环境的桥梁。

    pip install ipykernel
  4. 将新环境注册为Jupyter内核:
    python -m ipykernel install --user --name my_new_env --display-name "Python (我的新环境)"
    --display-name

    参数非常实用,它决定了你在Jupyter Notebook新建文件时下拉菜单里看到的名字,起一个直观的名字能省去不少后期查找的麻烦。

如果你使用

venv

管理环境,步骤类似:

  1. 创建新虚拟环境:
    python -m venv my_venv
  2. 激活新环境:
    source my_venv/bin/activate  # macOS/Linux # 或 my_venvScriptsactivate  # Windows
  3. 在新环境中安装
    ipykernel

    pip install ipykernel
  4. 注册为Jupyter内核:
    python -m ipykernel install --user --name my_venv --display-name "Python (我的Venv环境)"

完成上述步骤后,重启你的Jupyter Notebook服务,新的内核通常就会出现在“新建”菜单或“更改内核”选项中了。有时候新加的内核没显示出来,别慌,重启一下Jupyter Notebook服务通常就能解决。这就像电脑出了小毛病,重启大法往往有效。

在Jupyter Notebook中切换环境:

一旦你添加了多个Python环境作为内核,切换起来就非常方便了:

  • 对于已打开的Notebook: 点击顶部菜单栏的“Kernel” -> “Change kernel”,然后从列表中选择你想要切换到的Python环境。
  • 新建Notebook时: 在Jupyter的Launcher页面,直接点击你想要使用的Python环境对应的Notebook图标即可。

Jupyter Notebook版本管理:常见误区与高效排查策略

Jupyter Notebook的环境和版本管理,虽然带来了巨大的灵活性,但也伴随着一些常见的误区,理解这些并掌握排查策略,能大大提升你的开发效率。

常见误区:

  1. 混淆全局Python与内核Python: 许多人会想当然地认为,在终端里敲

    python --version

    看到的版本,就是Jupyter Notebook正在使用的版本。但实际上,你Jupyter Notebook里运行的代码,是其当前内核所关联的Python环境。这个环境可能是一个独立的虚拟环境,与你的系统全局Python版本并不一致。务必通过在Notebook中运行

    import sys; print(sys.version)

    来确认内核的真实版本。

  2. 包安装位置的误解: 你可能在终端里直接运行

    pip install some_package

    ,然后疑惑为什么在Jupyter里导入这个包会报错。这是因为你可能没有激活Jupyter当前使用的那个虚拟环境就进行了安装,导致包被安装到了系统全局Python或其他环境中,而不是Jupyter内核所关联的环境。

高效排查策略:

  1. 验证Python解释器路径: 为了确认当前Jupyter内核到底关联的是哪个Python解释器,可以在Notebook中运行:

    import sys print(sys.executable)

    这个命令会打印出当前内核所使用的Python解释器的完整路径。对照这个路径,你就能清楚地知道它到底指向的是哪个虚拟环境,如果路径不对,那就是内核配置出了问题。

  2. 确保在正确环境中安装包: 解决包安装位置误解的最佳方法是:

    • 方法一(推荐): 始终确保你在终端激活了Jupyter Notebook当前使用的那个Python环境(比如
      conda activate my_env

      source my_venv/bin/activate

      ),然后再执行

      pip install

      命令。

    • 方法二(快速验证): 直接在Jupyter Notebook的代码单元格里使用
      !

      前缀来执行shell命令,这样可以确保命令在当前内核所关联的环境中运行。例如:

      !pip install pandas

      我个人更倾向于后者,尤其是在快速验证或演示时,省去了切换终端环境的麻烦,保证了操作的即时性。

  3. 检查当前环境已安装的包: 当遇到

    ModuleNotFoundError

    或其他与包相关的问题时,检查当前环境已安装的包及其版本是第一步。

    !pip list

    或者更Pythonic地:

    import pkg_resources for dist in pkg_resources.working_set:     print(f"{dist.project_name}=={dist.version}")

    这些命令能帮你列出当前Jupyter内核环境中所有已安装的包及其版本。很多时候代码运行出错,就是因为某个库的版本不对,或者压根没安装。

Jupyter Notebook的版本管理和环境隔离,虽然初看起来可能有点绕,但一旦你理解了“内核”和“环境”之间的对应关系,它会成为你Python开发中非常强大的工具。多花点时间理解这些,能帮你避免很多不必要的“环境问题”导致的崩溃和时间浪费。



评论(已关闭)

评论已关闭