MacOS下VS Code中nbconvert无法找到xetex的解决问询
解决VS Code导出Jupyter Notebook为PDF时找不到xelatex的问题
问题背景
MacOS系统中已安装VS Code、MacTeX版TeX Live,以及conda环境的jupyter/nbconvert。终端执行jupyter nbconvert --to pdf mynotebook.ipynb可正常转换PDF,但VS Code内通过Export选项导出时,提示OSError: xelatex not found on PATH。
解决方案(无需重装TeX Live)
方法1:通过终端启动VS Code
VS Code直接打开时不会继承终端的环境变量,而终端能找到xelatex是因为PATH包含了MacTeX的路径。在终端进入你的工作目录,执行:
code .
这样启动的VS Code会继承终端的环境变量,即可找到xelatex。
方法2:手动指定xelatex路径到VS Code设置
- 先在终端执行
which xelatex,得到xelatex的绝对路径,例如/Library/TeX/texbin/xelatex - 打开VS Code设置(快捷键
Cmd+,),搜索jupyter.nbconvertLaTeXCommand - 将该设置项的值改为刚才得到的绝对路径
- 也可直接编辑
settings.json,添加以下内容:
"jupyter.nbconvertLaTeXCommand": "/Library/TeX/texbin/xelatex"
方法3:给conda环境添加TeX路径
如果Jupyter依赖conda环境运行,可在该环境的激活脚本里添加PATH:
- 进入conda环境的激活脚本目录,比如环境名为
myenv,路径为~/opt/miniconda3/envs/myenv/etc/conda/activate.d(目录不存在则手动创建) - 在该目录下创建
env_vars.sh文件,内容为:
export PATH="/Library/TeX/texbin:$PATH"
- 重启VS Code并重新激活conda环境,此时VS Code调用该环境的nbconvert时就能找到xelatex。
内容的提问来源于stack exchange,提问作者user2379888
相关产品推荐
相关产品推荐

