解决jupyter notebook转换成PDF失败的问题

章岳
2023-12-01

解决jupyter notebook转换成PDF失败的问题

参考文章:
1.https://stackoverflow.com/questions/36916093/convert-ipynb-to-pdf-in-jupyter
2. https://blog.csdn.net/qq120633269/article/details/102554407

首先,下载LaTex,在这里我用的是Tex Live, 其次将pdflatex.exe这个文件加入到环境变量中,具体路径在<你的Tex Live安装路径>\ 2016\bin\win32. 将<你的Tex Live安装路径>\2016\bin\win32\pdflatex.exe添加到用户变量和系统变量下,具体做法为:
1. 右键此电脑,点击属性
2. 点击高级系统设置
3. 点击高级–> 环境变量
4. 分别在用户PATH和系统PATH添加<你的Tex Live安装路径>\2016\bin\win32\pdflatex.exe
添加完成后,关闭当前jupyter,重新打开一个anaconda prompt,重新打开jupyter notebook。
至此Save as PDF应该会生效。
如果报错:
nbconvert failed: PDF creating failed, captured latex output:
This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2018/W32TeX) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
! Undefined control sequence.
<> .\notebook
.tex
?
! Emergency stop.
<> .\notebook
.tex
No pages of output.
Transcript written on ?.

解决方案:
1、如果文件路径有带中文,将中文去掉
2、找到安装路径下的pdf.py 文件打开
即…\site-packages\nbconvert\exporters\pdf.py

将’build_directory’: ‘.’ 改为 ‘build_directory’: ‘’,如下所示:

#writer = Instance("nbconvert.writers.FilesWriter", args=(), kw={'build_directory': '.'})
writer = Instance("nbconvert.writers.FilesWriter", args=(), kw={'build_directory': ''})
 类似资料: