Su código actual puede devolver un error basado en el formato del archivo path
puntos a. Dicho esto, algunos formatos de imagen como .gif, .pgm (y .png si tk.TkVersion> = 8.6) ya son compatibles con la clase PhotoImage
.
A continuación se muestra un ejemplo que muestra:

o si tk.TkVersion < 8.6
:

try: # In order to be able to import tkinter for
import tkinter as tk # either in python 2 or in python 3
except ImportError:
import Tkinter as tk
def download_images():
# In order to fetch the image online
try:
import urllib.request as url
except ImportError:
import urllib as url
url.urlretrieve("https://i.stack.imgur.com/IgD2r.png", "lenna.png")
url.urlretrieve("https://i.stack.imgur.com/sML82.gif", "lenna.gif")
if __name__ == '__main__':
download_images()
root = tk.Tk()
widget = tk.Label(root, compound='top')
widget.lenna_image_png = tk.PhotoImage(file="lenna.png")
widget.lenna_image_gif = tk.PhotoImage(file="lenna.gif")
try:
widget['text'] = "Lenna.png"
widget['image'] = widget.lenna_image_png
except:
widget['text'] = "Lenna.gif"
widget['image'] = widget.lenna_image_gif
widget.pack()
root.mainloop()
le recomiendo que lea el libro "programación Python y Tkinter". Muy buen libro, completo. Probablemente pueda encontrarlos en eBay a precios más bajos. Eso es asumiendo que realmente quieres usar TKinter. Sin embargo, recomiendo Qt en lugar de Tkinter – frankliuao