Tkinter pyimage не существует

Я знаю, что есть много подобных вопросов, но не достаточно простых, чтобы я мог понять. У меня есть следующий код:

import Tkinter as tk
from PIL import Image, ImageTk

class MainWindow:
    def __init__(self, master):
        canvas = Canvas(master)
        canvas.pack()
        self.pimage = Image.open(filename)
        self.cimage = ImageTk.PhotoImage(self.pimage)
        self.image = canvas.create_image(0,0,image=self.cimage)


filename = full_filename
root = tk.Tk()
x = MainWindow(root)
mainloop()

и я получаю следующую ошибку:

TclError: image "pyimage36" doesn't exist

Я читал кое-что о том, как объекты изображения очищаются от мусора, но я не совсем это понимаю.

Ответы на вопрос(1)

Ваш ответ на вопрос