为什么 Python tkinter 在打开这个文件时会崩溃?

Why does Python tkinter crash when opening this file?

有人知道为什么 Python 启动器在 运行 这段代码时崩溃吗?有没有明显的东西我错过了,因为它以前工作过。 运行 在 Mac 来自终端。

甚至没有抛出错误,所以我不太确定发生了什么。

我需要更新 tkinter 还是它只是导致问题的功能之一?

import tkinter as tk
import requests
import json
from PIL import ImageTk, Image

root = tk.Tk()
root.geometry("800x600")
# root.configure(bg = 'black')

# root.iconbitmap('./images/rain_jpeg.jpg')

Images = dict()

def display_photo(row=0, column=0):

    if weather_main + '_tk' not in [*Images]:
        image_1 = ImageTk.PhotoImage(Image.open("./images/" + weather_main + ".jpg"))
        photo = tk.Label(root, image = image_1)
        photo.image = image_1
        photo.pack()

    text_runner()

def city_clicker_runner():
    
    global weather_main
    global city

    city = e.get()
    request_address = "https://api.openweathermap.org/data/2.5/weather?q=" + city + "&units=metric&appid=0a0699452f695d2f9f82b65af024a134"
    api_request = requests.get(request_address)
    api = json.loads(api_request.content)

    mylabel2 = tk.Label(root, text = 'URL=' + request_address)
    # mylabel2.configure(foreground="white")
    mylabel2.pack()

    coordinates = api["coord"]
    weather_main = api["weather"][0]["main"]
    weather_description = api["weather"][0]["description"]
    temp = int(api["main"]["temp"])

    mainy = tk.Label(root, text = "the weather is " + weather_main)
    mainy.pack()

    display_photo()
        
def text_runner():

    running = tk.Label(root, text = 'we are running')
    running.pack()

    mylabel = tk.Label(root, text = "The weather in " + city + " is " + weather_main + " and the temperature is " + str(temp), font=("Helvetica", 20))
    mylabel.pack()

e = tk.Entry(root)
e.pack()

city_clicker = tk.Button(root, text = "GO", command=city_clicker_runner)
city_clicker.pack()

如果没有 root.mainloop(),应用程序将无法启动。它就像应用程序始终关闭一样,你必须将它保持在一个循环内,只要你关闭它(跳出循环)

,它就会实际保持 运行

希望它清除了错误

干杯