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

Mac M1下Jupyter Notebook点击/创建ipynb时触发500内部服务器错误

解决Jupyter Notebook 500内部服务器错误(jinja2 contextfilter导入失败)

问题描述

在Mac M1设备上,于Python 3.12.2的venv虚拟环境中通过pip安装Jupyter Notebook后,点击已有ipynb文件或新建ipynb时出现500 : Internal Server Error错误,控制台核心报错如下:

ImportError: cannot import name 'contextfilter' from 'jinja2' (/Users/ali/opt/anaconda3/lib/python3.9/site-packages/jinja2/__init__.py)

注:报错路径显示调用了anaconda3下的Python3.9环境,需先确认是否正确激活了目标Python3.12的venv虚拟环境,避免环境混用导致依赖冲突。

报错原因

Jinja2 3.1及以上版本移除了直接从jinja2根模块导入contextfilter的方式,该对象已迁移至jinja2.filters模块。而旧版本的nbconvert(Jupyter Notebook依赖的导出工具)仍在使用旧的导入写法,引发兼容性错误。

解决方法

方法1:降级Jinja2至兼容版本

安装Jinja2 3.0.x系列版本,该版本保留了旧的导入方式:

# 先激活你的Python3.12 venv虚拟环境
source /path/to/your/venv/bin/activate
pip install jinja2==3.0.3

方法2:升级nbconvert至兼容新版本Jinja2的版本

更新nbconvert到最新稳定版,新版本已适配Jinja2 3.1+的导入变化:

# 激活虚拟环境后执行
pip install --upgrade nbconvert

方法3:重建虚拟环境,避免依赖混乱

如果上述方法无效,可能是虚拟环境内依赖已混乱,建议重新创建干净环境:

# 删除旧虚拟环境(可选,根据实际路径调整)
rm -rf /path/to/your/old_venv
# 创建Python3.12的新虚拟环境
python3.12 -m venv jupyter_env
# 激活环境
source jupyter_env/bin/activate
# 安装Jupyter Notebook
pip install notebook

内容的提问来源于stack exchange,提问作者Ali Salehi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 13:43:16