Jupyter Notebook中怎么查看Python版本

Aria
Aria
发布时间:2026-10-22| 4人浏览过
原创

在 Jupyter Notebook 中查看正在运行的 Python 版本,最可靠的方式是在代码单元格(Code Cell)中导入内置的 sys 或 platform 模块进行打印。这不仅能快速获得 Python 的主次版本号,还可以获取当前内核(Kernel)所绑定的 Python 解释器完整路径,从而帮助你准确确认代码是在哪个虚拟环境中运行。

方法一:使用 sys 模块查看完整版本与解释器路径(推荐)

Jupyter Notebook 执行代码依赖于后台运行的内核(Kernel)。要获取当前内核所使用的 Python 环境信息,最权威、信息量最全的方式是通过 Python 原生内置的 sys 模块。

新建或打开一个 Jupyter Notebook 笔记本,在任意代码单元格中输入以下两行代码,并按下 Shift + Enter 快捷键运行:

import sys

print("Python版本信息:")
print(sys.version)

print("\n解释器绝对路径:")
print(sys.executable)
运行输出示例
Python版本信息:
3.10.12 (main, Jun 11 2023, 05:26:28) [Clang 15.0.0 (clang-1500.0.40.1)]

解释器绝对路径:
/Users/username/miniconda3/envs/data-analysis/bin/python

这段代码输出了两组关键信息:

  • sys.version:返回包含 Python 完整版本号(如 3.10.12)、编译器版本(Clang/GCC/MSC)以及编译日期的字符串。通过该信息可以确认当前 Python 的大小版本和二进制位数。
  • sys.executable:返回当前正在执行该 Notebook 单元格代码的 Python 解释器二进制文件的绝对物理路径。这在配置了 Anaconda、Miniconda、venv 或 Poetry 等多环境机器上极为关键,它是排查“模块已安装但 Notebook 提示 ModuleNotFoundError”的第一诊断依据。
Jupyter Notebook中怎么查看Python版本
图 1:在 Jupyter Notebook 中执行 sys 模块代码查看版本的标准操作步骤

方法二:使用 platform 模块获取简洁版本号

如果你在编写数据分析脚本或条件分支逻辑时,只需要清晰、标准的版本字符串(例如纯粹的 "3.10.12" 或主版本号数字),而不需要冗长的编译日期等信息,可以使用标准库中的 platform 模块。

在单元格中执行以下代码:

import platform

print("简洁版本号:", platform.python_version())
print("版本元组:", platform.python_version_tuple())
运行输出示例
简洁版本号: 3.10.12
版本元组: ('3', '10', '12')

platform.python_version_tuple() 会返回一个由字符串构成的三元组 (major, minor, patchlevel)。当你的项目依赖特定 Python 大版本(例如要求必须为 Python 3.9 或以上)时,使用该方法可以非常方便地做前置检查,例如 if int(platform.python_version_tuple()[1]) < 9: ...。

方法三:在单元格中使用感叹号运行 Shell 命令

在 Jupyter Notebook 中,行首加上英文感叹号 ! 可以直接向底层操作系统的 Shell 派生子进程并执行终端命令。因此,也可以通过终端命令来查询 Python 版本:

!python --version
运行输出示例
Python 3.9.7

此外,若想查询系统命令对应哪一个执行程序,在 Linux 或 macOS 上可运行 !which python,在 Windows 上可运行 !where python。

特别提醒:不要盲目依赖感叹号命令!

很多初学者在这里会遇到困惑:为什么 !python --version 输出的是 Python 3.9.7,而上面使用 sys.version 打印出来的却是 3.10.12?接下来我们深入解析这两种做法的核心差异。

关键对比:sys.version(Kernel运行态)与 !python(Shell子进程)的区别

在 Jupyter Notebook 中,“在单元格内执行 Python 模块”与“用感叹号调用系统终端”属于完全不同的两种执行机制。理解这两者的差异是避免环境混淆的关键。

Jupyter Notebook中怎么查看Python版本
图 2:sys 模块内核运行态与感叹号 Shell 子进程机制对比

为了让对比更加直观,下表总结了两种方式在实际应用场景中的关键区别:

对比维度 sys.version / sys.executable !python --version
所在进程 Jupyter Kernel(活跃运行态进程) 独立的临时子 Shell(子进程)
环境依据 Notebook 绑定的 kernelspec 配置文件 系统全局环境变量(PATH)中的首选路径
是否会错位 绝对不会,完全真实反映脚本运行环境 在多虚拟环境或 Conda 环境下极易错位
对安装包的指导 决定当前 Cell 中 import 的查找范围 决定 !pip install 安装到的目标环境

这种差异所带来的最常见问题是:用户在单元格中执行 !pip install pandas 成功安装,但在下一步运行 import pandas 时却报 ModuleNotFoundError。根本原因就是 !pip 调用了系统默认 Python 环境,而当前 Kernel 属于另一个虚拟环境。因此,确认版本必须以 sys.executable 为准;若要在 Notebook 中安装库,推荐使用行魔法命令 %pip install pandas,它会自动关联当前 Kernel 对应的解释器。

方法四:通过 Jupyter 界面菜单与状态栏查看

除了在单元格运行代码外,还可以直接通过 Jupyter Notebook 的图形界面快速查看基本版本信息:

  • 右上角 Kernel 标签:在经典的 Jupyter Notebook 或 JupyterLab 界面右上角,常驻显示有当前 Kernel 的显示名称(例如 Python 3 (ipykernel) 或自定义的环境名 Python [conda env:pytorch])。
  • 菜单栏切换与检查:依次点击顶部菜单 Kernel -> Change Kernel,弹出的子列表中会列出本地已注册的所有 Python 环境。带有勾选标记的即为当前笔记本正在使用的内核环境。

版本不符合预期时的排查与解决流程

通过 sys.version 和 sys.executable 查出 Python 版本后,如果发现当前版本并非自己期望的版本(例如项目需要 Python 3.10,而 Notebook 当前运行在 Python 3.8),请按照以下排查逻辑进行调整:

Jupyter Notebook中怎么查看Python版本
图 3:Python 解释器版本排查与环境切换决策流

如何将目标 Python 环境注册为 Jupyter Kernel

如果你在电脑中通过 Anaconda 或 python -m venv 新建了特定版本的 Python 环境(例如名为 py311_env 的 Python 3.11 环境),但 Jupyter 菜单中找不到它,只需在系统终端中执行以下两步注册操作:

第一步:激活目标虚拟环境并安装 ipykernel

# 如果使用 conda:
conda activate py311_env
conda install ipykernel

# 如果使用 venv:
source py311_env/bin/activate  # Windows 为 py311_env\Scripts\activate
pip install ipykernel

第二步:将该环境注册到 Jupyter 的内核列表中

python -m ipykernel install --user --name py311_env --display-name "Python (py311_env)"

命令完成后,重新回到 Jupyter Notebook 页面并刷新。在顶部菜单栏依次点击 Kernel -> Change Kernel,即可看到并切换到名为 Python (py311_env) 的新内核。再次运行 sys.version,即可确认版本已正确变更为预期的 Python 版本。

总结与速查清单

在 Jupyter Notebook 中确认 Python 运行环境时,遵循“以代码运行态为准,关注解释器路径”的原则。下表图示汇总了各种方法的速查对照,供日常开发快速参考:

Jupyter Notebook中怎么查看Python版本
图 4:Jupyter Notebook 中四种 Python 版本查看方式综合速查

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。