«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как исправить ошибку «нет отображаемого имени и переменной среды $DISPLAY» в Matplotlib?

Как исправить ошибку «нет отображаемого имени и переменной среды $DISPLAY» в Matplotlib?

Опубликовано 5 ноября 2024 г.
Просматривать:266

How to Fix the \

"_tkinter.TclError: нет отображаемого имени и нет переменной среды $DISPLAY"

Эта ошибка обычно возникает при запуске сценария Python с использованием Matplotlib на сервере без графического дисплея. Matplotlib использует серверную часть для визуализации графиков и по умолчанию выбирает серверную часть Xwindows, для которой требуется графическое отображение.

Чтобы решить эту проблему, вам необходимо указать Matplotlib использовать неинтерактивную серверную часть, например как Агг. Вот как этого можно добиться:

  • До импорта pyplot добавьте следующий код в начало вашего скрипта:
import matplotlib
matplotlib.use('Agg')

Этот код устанавливает для бэкенда matplotlib значение Agg, что подходит для создания статических изображений без отображения.

  • В качестве альтернативы вы можете добавьте следующую строку в ваш файл .config/matplotlib/matplotlibrc:
backend: Agg

Это будет постоянно использовать бэкэнд Agg для ваших скриптов Python.

  • Если вы подключаетесь к серверу удаленно, используйте следующую команду:
ssh -X remoteMachine.com

Эта команда включите пересылку X11, что позволит вам использовать дисплей на сервере.

  • Вы также можете попробовать экспортировать переменную DISPLAY:
export DISPLAY=mymachine.com:0.0

Это установит переменную среды DISPLAY, которая необходима для серверной части Xwindows.

Для получения дополнительной информации об использовании Matplotlib на серверах обратитесь к документации: https:/ /matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server

Заявление о выпуске Эта статья перепечатана по адресу: 1729601116. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3