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

M1 MacBook中Jupyter Notebook导入nbinteract时ImportError问题排查

解决M1 MacBook Jupyter Notebook导入nbinteract的ImportError问题

问题本质

Python 3.10及以上版本中,base64模块的encodestring方法已被移除,替换为encodebytes。你遇到的错误是因为nbinteract依赖的旧版本库(如nbformat)仍在调用这个废弃API,与Python 3.11不兼容。

可行解决方法

1. 降级Python版本到3.9或更低

nbinteract最后一次更新在2020年,对Python 3.10+兼容性较差,降级到Python 3.9可彻底解决版本兼容问题:

# 用pyenv安装Python3.9(若未安装pyenv需先安装)
pyenv install 3.9.16
pyenv local 3.9.16
# 创建并激活虚拟环境
python -m venv venv
source venv/bin/activate
# 重新安装所有依赖
pip install numpy matplotlib pandas seaborn ipywidgets nbinteract jupyter

2. 手动修复依赖库代码

若不想降级Python,找到报错的文件(路径为/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/nbformat/convert.py),打开后修改代码:
将:

from base64 import encodestring

替换为:

from base64 import encodebytes as encodestring

修改后保存,重新运行Jupyter Notebook即可。

3. 替换nbinteract为维护活跃的工具

由于nbinteract已停止维护,建议用以下工具替代:

  • 直接使用已导入的ipywidgets原生交互功能,interact、interactive等方法可实现大部分交互需求
  • 使用plotly创建交互式图表,功能更丰富且持续更新

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 12:12:57