TclError: в CentOS нет отображаемого имени и переменной среды $ DISPLAY - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь настроить простое приложение, где пользователь загружает файл в формате Excel. Для этого я использую tkinter, поэтому, когда пользователь нажимает кнопку, он открывает окно, чтобы выбрать, где сохранить файл. И это чудесно работает при локальном запуске файла. Проблема начинается, когда я пытаюсь разместить свое приложение на сервере CentOs, поскольку внутри приложения отображается следующая ошибка:

TclError: no display name and no $DISPLAY environment variable

Приложение разработано с использованием streamlit , но, учитывая, что проблема возникает только тогда, когда я использую другую ОС, я не уверен, что причиной является эта структура. Несмотря на это, и поскольку мои знания в этой области и в tkinter довольно ограничены, я также разместил этот вопрос на соответствующем форуме.

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

import tkinter
import streamlit as st

def main():

    st.write(tkinter.TkVersion)
    root = tkinter.Tk()


if __name__ == '__main__':
    main()

И если я запускаю этот код в CentOS, это то, что я получаю:

enter image description here

У меня есть поиск в Интернете и обнаружил это и это , но я не только не использую s sh после обновления доступа к серверу CentOS, но и не использую matplotlib.

Python версия: 3.6.8 Streamlit версия: 0.58 tkinter версия: 8.5

Любая помощь будет благодарна за то, как решить эту ошибку. И если у вас есть какие-либо сомнения, пожалуйста, спросите.

...