Matplotlib Backend проблема _tkinter.TclError: нет отображаемого имени и нет переменной окружения $ DISPLAY - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь построить простой график, используя matplotlib при подключении к машине Linux с использованием SSH.Я запускаю свой код на Python2.7

Сначала я запустил следующее:

import matplotlib
print(matplotlib.get_backend())

, где я получил "TkAgg" в качестве моего бэкэнда. Затем я запустил:

import os
import matplotlib as mpl
if os.environ.get('DISPLAY','') == '':
    print('no display found. Using non-interactive TkAgg backend')
    mpl.use('TkAgg')
import matplotlib.pyplot as plt 

, чтобы убедиться, что TkAgg специально используется.Тем не менее он возвращает: _tkinter.TclError: нет отображаемого имени и нет ошибки переменной окружения $ DISPLAY.

Интересно, что когда я использую «Agg» только для того, чтобы посмотреть, что произойдет, не отобразится сообщение об ошибке и нет графиков.

Любые добрые предложения?

1 Ответ

0 голосов
/ 20 октября 2018

Бэкэнд Agg ничего не отображает, он используется, когда вы хотите сохранить график, не заставляя его отображаться.

То, что вы хотите, это перенаправить ваш дисплей оттуда, где вы находитесь, так что ssh -X или ssh -Y.

См. https://unix.stackexchange.com/questions/12755/how-to-forward-x-over-ssh-to-run-graphics-applications-remotely

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...