You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JupyterLab与终端Python版本不一致的原因及修复方案(macOS)

问题原因
  1. Jupyter内核与启动环境不匹配:你终端中执行的jupyter-lab属于/Library/Frameworks/Python.framework/Versions/3.11环境,但Jupyter实际加载的内核关联到了/usr/local/bin/python3这个独立Python环境,导致sys.executable显示的是内核对应的Python路径,而非启动Jupyter的环境路径。
  2. Jupyter的Shell环境PATH与终端不同:Jupyter中!开头的命令使用的Shell环境PATH和终端当前PATH不一致,终端里/opt/homebrew/bin优先级更高,所以python指向brew的Python3;但Jupyter的PATH中系统默认路径优先级更高,导致!python调用了macOS自带的Python2.7。
修复方案

1. 为目标Python环境注册Jupyter内核

先选择你想要在Jupyter中使用的Python环境(比如终端中的/opt/homebrew/bin/python3,或者/Library/Frameworks/Python.framework/Versions/3.11/bin/python3),确保该环境安装ipykernel:

# 以brew的Python3为例
/opt/homebrew/bin/python3 -m pip install ipykernel

再将该环境注册为Jupyter内核:

/opt/homebrew/bin/python3 -m ipykernel install --user --name brew-python3 --display-name "Python (Homebrew)"

执行后,该环境会被添加到Jupyter的内核列表中。

2. 在Jupyter Lab中切换内核

启动Jupyter Lab后,打开目标笔记本:

  • 点击右上角当前的内核名称(比如默认的"Python 3")
  • 在弹出菜单中选择刚才注册的"Python (Homebrew)"内核
    切换完成后,重新执行sys.executable就会显示目标环境的Python路径。

3. 统一Jupyter与终端的PATH(解决!python版本问题)

如果需要让Jupyter中!python调用到目标环境的Python,有两种方式:

临时设置(单笔记本生效)

在笔记本开头添加代码,将目标Python所在目录加到PATH最前面:

import os
os.environ['PATH'] = '/opt/homebrew/bin:' + os.environ['PATH']

之后执行!python -V就会显示brew的Python3版本。

永久设置(全局生效)

  1. 生成Jupyter配置文件(未生成过的话):
jupyter lab --generate-config
  1. 打开配置文件~/.jupyter/jupyter_lab_config.py,找到c.Spawner.env配置项,修改为:
c.Spawner.env = {'PATH': '/opt/homebrew/bin:/usr/bin:/bin'}

将目标路径放在PATH最前面确保优先级最高,重启Jupyter Lab后即可生效。

内容的提问来源于stack exchange,提问作者42piratas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 01:57:45