EC2安装Jupyter后ipykernel无法导入traitlets.utils的filefind报错解决
问题根因
该报错由traitlets包版本不兼容触发:5.0及以上版本的traitlets正式移除了traitlets.utils.filefind接口,而你当前安装的Jupyter Notebook/JupyterLab组件仍依赖该旧接口,因此运行时触发导入错误,前端可正常打开但内核无法正常执行代码。
修复方案
按优先级选择以下任一方案操作即可:
方案一:降级traitlets到兼容版本(最快生效)
- 卸载当前版本的traitlets:
pip uninstall traitlets -y - 安装经过验证的兼容版本:
pip install traitlets==4.3.3 - 重启Jupyter服务后即可正常使用。
方案二:升级全量Jupyter组件适配高版本traitlets
如果不想降级依赖包,可将所有Jupyter相关组件升级到最新版本,适配高版本traitlets的接口规范:
- 执行升级命令:
pip install --upgrade jupyter notebook jupyterlab - 升级完成后重启Jupyter服务验证功能。
注意事项
若你是通过apt等系统包管理器安装的系统级Python依赖,操作时需要在上述pip命令前添加
sudo获取系统权限,也可以使用Python虚拟环境隔离Jupyter的运行依赖,避免和系统Python包产生冲突。
内容的提问来源于stack exchange,提问作者Rick Vink
相关产品推荐
相关产品推荐

