构建Jupyter book报错:未找到名为'script'的模板子目录
Jupyter Book构建时
script模板缺失报错排查方案 报错核心原因是Jupyter生态组件的模板路径加载失败,通常由版本不兼容、多环境包冲突、文件缺失/权限不足导致,可按以下步骤排查解决:
排查方向
- 优先核对依赖版本:
nbconvert 7.0.0及以上版本重构了模板目录结构,低于0.13版本的jupyter-book无法适配新路径,是该报错最高频的触发原因 - 对照报错列出的5个Jupyter搜索路径,逐一检查路径下
nbconvert/templates目录内是否存在script子文件夹,确认是文件缺失、还是权限不足导致无法读取 - 检查是否存在多源安装的包冲突:比如同时通过homebrew安装了全局Python的Jupyter组件,又在用户目录通过pip安装了另一套版本,路径优先级混乱导致程序加载了不匹配的组件
解决方案(按生效概率从高到低排序)
- 修复版本不匹配问题
完全卸载存在冲突的相关依赖后,安装适配的版本组合,执行命令:
安装完成后执行pip uninstall -y jupyter-book nbconvert jupyter_core pip install jupyter-book "nbconvert<7.0.0"jupyter --paths,对照输出的share类路径,确认nbconvert/templates/script目录存在后再尝试构建。 - 隔离运行环境规避多版本冲突
如果存在全局包混装问题,直接用虚拟环境隔离jupyter-book的运行依赖,避免全局路径干扰:
激活虚拟环境后,在该环境内重新执行构建命令即可。python3 -m venv jb_build_env source jb_build_env/bin/activate pip install jupyter-book - 手动补全缺失模板
如果版本调整后仍提示模板缺失,先执行pip show nbconvert查看包的安装位置,进入安装路径下的templates目录,手动新建script子文件夹,在文件夹内创建index.py.j2模板文件即可。 - 修复目录权限
如果确认模板目录存在但程序无法读取,执行命令修复用户目录下Jupyter相关路径的读写权限:chmod -R u+rw /Users/san/Library/Jupyter /Users/san/Library/Python/3.8/share/jupyter
内容的提问来源于stack exchange,提问作者sheharbano
相关产品推荐
相关产品推荐

