Решение «500: Внутренняя ошибка сервера, сбой nbconvert: xelatex не найден в PATH» - PullRequest
0 голосов
/ 12 сентября 2018

Всякий раз, когда я пытаюсь экспортировать блокнот 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.

Вещи, которые я пробовал:

  • Переустановка nbconvert через pip (в ноутбуке Jupyter) и conda (терминал)
  • Установка xelatex для Mac
  • Переустановка 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

Я нашел каталог, содержащий xelatex, согласно предложению @einsweniger здесь: / 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 ]

0 голосов
/ 03 апреля 2019

Я столкнулся с той же проблемой.Как уже говорили ранее, проблема заключается в том, что xlatex не найден в переменной среды PATH.

Решение, которое сработало для меня, состояло в том, чтобы запустить из записной книжки следующее:

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

Или просто в командной строке:

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

И затем запуститьэкспортируйте в pdf из командной строки (в вашей виртуальной среде, если она есть) следующим образом:

 jupyter nbconvert your_notebook.ipynb --to pdf

Это должно создать PDF-файл вашей записной книжки в том же каталоге, в котором он работает.

0 голосов
/ 18 сентября 2018

Я не привык к путям установки Mac, из того, что говорит basictex faq , я понимаю, что исполняемые файлы должны жить в /usr/local/texlive/bin/x86_64-darwin Выполнение which xelatex в терминале также может помочь определить, где находится команда, но это работает, только если каталог уже находится в переменной PATH.

Другой метод будет запускаться find / -name 'xelatex', если он не находится в пределах вашей переменной PATH, поэтому вы можете найти его таким образом (может потребоваться некоторое время, так как он будет искать весь жесткий диск).

Как только вы нашли его и добавили путь к переменной PATH, вы должны также проверить, имеет ли jupyter правильный PATH, запустив

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

в блокноте.

0 голосов
/ 22 сентября 2018

В прошлом я сталкивался с подобными проблемами с путями в python при использовании tenorflow в Windows и Linux.Как отмечают другие, использование PATH - это путь (т. Е. Обновление в .bashrc, если это был linux), но я нашел код ниже для решения проблем с путями в сценариях по сценариям.

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, что именно вы ищете, а затем добавил бы его, если он отсутствует.Вы, вероятно, даже не нуждаетесь в выражении «если».
Возможно, не самый практичный способ сработал для меня, когда я знаю, что рассматриваемый путь, возможно, является «редко используемым» или «одноразовым» добавлением PATH...

Таким образом, как было указано в комментариях выше (и я думаю, что вы уже это сделали), найдите местоположение файла и добавьте его местоположение, используя приведенный выше код.

Еще немного прочтения: https://docs.python.org/3/tutorial/modules.html 6.2 Стандартные модули

0 голосов
/ 15 сентября 2018

Если доступно обновление, возможно, попробуйте обновить Jupyter

...