Как исправить Нет отображаемого имени и переменной окружения $ DISPLAY Python - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь сделать игру о нажатии кнопки, чтобы получить сок (длинная история), вы нажимаете кнопку tkinter, но когда я пытался добавить ее в колбу, но она продолжала говорить "

Traceback (most recent call last):
  File "/home/4TRS/mysite/SAPGAME.py", line 2, in <module>
    window = tkinter.Tk()
  File "/usr/lib/python3.7/tkinter/__init__.py", line 2020, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable"

Это мой код

import tkinter
window = tkinter.Tk()
button=tkinter.Button(window, text="Click to get sap", width=40)
button.pack(padx=10, pady=10)
clickcount = 0
def onclick(event):
    global clickcount
    clickcount = clickcount + 1
    sap1 = clickcount
    sap = str(sap1)
    if clickcount >= 1:
        button.configure(text="You have " + sap + " saps")
button.bind("<ButtonRelease-1>", onclick)
window.mainloop()

Я хочу иметь возможность просто нажать кнопку. Когда я делаю это в режиме IDLE, он работает просто отлично, но когда я пробую его в любой онлайн-среде IDE, возникает та же ошибка. Я занимаюсь этим часами и не могу найти решение.

1 Ответ

0 голосов
/ 28 октября 2019

tkinter - это набор графического интерфейса для настольных приложений, он не предназначен для использования с сетью, такой как Flask.

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

Слишком рискованно запускать пользовательский код непосредственно на сервере, чтобы обеспечить безопасность. Тем не менее, я мог бы найти тот, который поддерживает эмуляцию Python tkinter: https://create.withcode.uk/

python online ide - tk support

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