/ / Matplotlib збереження PDF не вдається при запуску з консолі тільки [дублювати] - python, ssh, консоль, matplotlib

Зберігання PDF-файлу Matplotlib неможливе, коли запускається лише з консолі [duplicate] - python, ssh, console, matplotlib

Я переглядаю деякі матоплати в PDFmatplotlib.backends.backend_pdf. Він працює відмінно, коли я запускаю його з мого (Linux) комп'ютера, але якщо я ssh в комп'ютер з зовнішнього розташування і запустити код, він не працює з наступним повідомлення про помилку.

  File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 343, in figure
**kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line 80, in new_figure_manager
window = Tk.Tk()
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1688, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable

Рядок у моєму коді, на якому він не працює fig = matplotlib.pyplot.figure (figsize = (11.5,14.8)).

Я припускаю, що це щось робити з нею намагаєтьсящоб знайти дисплей, на якому відображатимуться графіки, але мій код ніколи не відображає їх. Він зберігає лише PDF. Чи є спосіб я можу обійти цю проблему, щоб отримати код працювати належним чином?

Відповіді:

2 для відповіді № 1

Ваш код може не відображати ділянки, але він все ще використовує інтерактивний сервер, який потребує відображення.

Ви також можете ssh -Y user@host і отримати X-з'єднання або, відповідно до пропозиції у посиланні, наданому ngurenyaga, редагуйте свій код, щоб використовувати неінтерактивний бекенд

matplotlib.use("Agg")