37

每当我尝试将 Jupyter 笔记本导出为 PDF 时,我都会在单独的窗口中收到以下错误:

500 : Internal Server Error
The error was:

nbconvert failed: xelatex not found on PATH, if you have not installed xelatex you may need to do so. Find further instructions at https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex.

我正在运行 macOS Sierra 10.12.6。

我尝试过的事情:

  • 通过 pip(在 Jupyter 笔记本中)和 conda(终端)重新安装 nbconvert
  • 为 Mac 安装 xelatex
  • 重新安装 Mactex
  • 安装 pandoc(通过 pip 和“conda install -c conda-forge pandoc”)

跑步

!echo $PATH

产量:

/Users/ed/anaconda/bin:/Users/ed/anaconda/bin:/usr/bin:/bin:/usr/sbin:/sbin

根据@einsweniger 的建议,我在这里找到了包含 xelatex 的目录:/usr/local/texlive/bin/x86_64-darwin。我将 XeLatex 复制并粘贴到上面的 bin 目录中,并得到一个新错误:

```nbconvert failed: PDF creating failed, captured latex output:
warning: kpathsea: configuration file texmf.cnf not found in these directories: /Users/e/anaconda/bin:/Users/ed/anaconda/bin/share/texmf-local/web2c:/Users/ed/anaconda/bin/share/texmf-dist/web2c:/Users/ed/anaconda/bin/share/texmf/web2c:/Users/ed/anaconda/bin/texmf-local/web2c:/Users/ed/anaconda/bin/texmf-dist/web2c:/Users/ed/anaconda/bin/texmf/web2c:/Users/ed/anaconda:/Users/edefilippis/anaconda/share/texmf-local/web2c:/Users/e/anaconda/share/texmf-dist/web2c:/Users/ed/anaconda/share/texmf/web2c:/Users/ed/anaconda/texmf-
This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2018) (preloaded format=xelatex)

kpathsea: Running mktexfmt xelatex.fmt
I can't find the format file `xelatex.fmt'!
```

我还将 xelatex.fmt 放在目录中,但仍然出现错误。

4

10 回答 10

27

我遇到了同样的问题。正如人们之前所说,问题在于在您的 PATH 环境变量中找不到 xlatex 。

对我有用的解决方案是从笔记本运行以下内容:

!export PATH=/Library/TeX/texbin:$PATH

或者简单地在命令行中:

export PATH=/Library/TeX/texbin:$PATH

然后从命令行(如果有的话,在你的虚拟环境中)运行导出到 pdf,如下所示:

 jupyter nbconvert your_notebook.ipynb --to pdf

这应该在它正在运行的同一目录中创建你的笔记本的 pdf。

于 2019-04-03T15:51:29.377 回答
8

I'm not accustomed with Mac install paths, from what the basictex faq says, I gather the executeables should live in /usr/local/texlive/bin/x86_64-darwin Running which xelatex in a terminal might also help finding where the command is, but that only works if the directory is already in your PATH variable.

Another method would be running find / -name 'xelatex' if it is not within your PATH so you might find it that way (might take a while as this will search you whole harddrive).

Once you've found it and added the path to your PATH variable, you should also check if the jupyter has the correct PATH by running

import os
print(os.environ['PATH'])

within a notebook.

于 2018-09-18T08:54:27.710 回答
2

$ sudo apt-get install texlive-xetex texlive-fonts-recommended texlive-plain-generic

于 2021-11-02T10:59:00.800 回答
1

在 mac 上,您可以mactex使用homebrew安装以下内容:brew install --cask mactex

于 2021-04-03T23:30:31.780 回答
1

过去在 Windows 和 Linux 中使用 tensorflow 时,我在 python 中的路径中遇到过类似的问题。正如其他人所指出的那样,使用 PATH 是可行的方法(即,如果是 linux,则在 .bashrc 中更新),但我发现下面的代码可以逐个脚本地解决路径问题。

import sys
if "\your\path\to\xelatex" not in sys.path:
    print('adding path') # I just add this to know if the path was present or not.
    sys.path.append("\your\path\to\xelatex")

基本上会检查 PATH 是否是您要查找的内容,然后在缺少时添加它。您甚至可能不需要“if”语句。
也许不是最实用的方法对我来说效果很好,因为我知道有问题的路径可能是“很少使用”或“一次性使用”的 PATH 添加...

正如上面评论中指出的那样(我想你已经有了)找到文件的位置并使用上面的代码添加它的位置。

更多阅读: https ://docs.python.org/3/tutorial/modules.html 6.2 标准模块

于 2018-09-22T05:57:27.027 回答
0
  1. 如果未更新,请更新/重新安装 Anaconda。
  2. 现在通过链接https://chromium.woolyss.com/download/en/安装 chromium并使其成为默认浏览器。
  3. 然后使用这个浏览器运行 jupyter notebook。
  4. 最后在 jupyter notebook 中使用“下载为”选项,然后通过 pyppeteer (.html) 选择使用 PDF 的选项

你好!!有效..

于 2021-06-17T18:15:54.697 回答
0

添加"env": {"PATH":"$PATH"}到你的kernel.json,对我来说是在/opt/anaconda3/share/jupyter/kernels/python3/kernel.json

默认情况下,JupyterLab 或 Anaconda 似乎会覆盖系统 PATH,如果你设置了这个,那么 JupyterLab 和你的 shell 中的 PATH 将是相同的,所以如果你有任何自定义安装,比如 xelatex,它会显示在 JupyterLab 中。

于 2020-10-29T12:03:00.273 回答
0

如果(您正在使用 jupyter,我发现更简单的方法是)

  • 在乳胶中下载文件。
  • 上传到背页。
  • 然后下载为pdf

否则,如果(您使用的是 google collab)

  • 下载为 ipynb
  • 上传到jupyter并重复上述步骤。
于 2022-01-29T07:25:17.563 回答
0

在您的 jupyter 终端(或在您的环境中,如果有的话)运行此命令,关闭所有 jupyter 笔记本选项卡并重新打开它,然后将笔记本转换为 pdf

pip install --upgrade --user nbconvert
于 2021-04-12T20:19:50.127 回答
0

如果有可用的更新,可以尝试更新 Jupyter

于 2018-09-15T18:52:33.610 回答