Seite 1 von 1

Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Montag 11. Juni 2018, 15:58
von Freddyyy
Ich kann nach der installation von PIL 5.1.0 nicht ImageTK importieren.

Code: Alles auswählen

Traceback (most recent call last):
....
NameError: name 'ImageTK' is not defined
benutzen wollte ich

Code: Alles auswählen

from PIL import Image, ImageTK
from turtle import *
t = Turtle()
img = ImageTK.PhotoImage(image.open("Example.png"), X) 
register_shape(img)
t.shape(img)
Wobei X hier als Platzhalter stehet, da ich nicht herausfindne konnte was da stehen muss. Im Internet findet man immer Installations möglich keiten wie "sudo apt-get install python3-pip python3-dev" doch ind der Python Konsole wird immer "apt" als Syntaxc error angezeigt
Irgendwer eine Idee?

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Montag 11. Juni 2018, 16:16
von __blackjack__
Bei `X` hatte ich ja schon in einem anderen Thema gefragt warum Du überhaupt denkst da müsste noch etwas stehen.

Natürlich bekommst Du bei ``sudo apt-get install python3-pip python3-dev`` in der Python-Console einen Syntaxfehler, denn das ist kein Python, sondern muss unter Linux-Distributionen die mit Debian-Paketen arbeiten in einer Shell eingegeben werden.

Wie hast Du PIL denn installiert? Und warum PIL und nicht Pillow?

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Montag 11. Juni 2018, 16:20
von Freddyyy
Ich habe die PIL exe Datei installiert
Naja wenn du mir eine anleitung gibst wie ich Pillow intalliere dann istalliere ich das auch gerne

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Montag 11. Juni 2018, 16:21
von Freddyyy
Ach uihd beim anderen Thema habe ich keine antwort erhalten. Sorry

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Montag 11. Juni 2018, 16:35
von Freddyyy
Ok habe dienen beitrag gefuinden. ImageTk funktioniert auch nicht.

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Montag 11. Juni 2018, 16:36
von __blackjack__
Welche PIL exe? Von wo ist die? Für welche Python-Version? Und ist das wirklich PIL, denn die Version kommt mir komisch vor‽

Eine Installationsanleitung für Pillow steht in der Pillow-Dokumentation ziemlich am Anfang im Abschnitt „Installation“.

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Montag 11. Juni 2018, 16:47
von Freddyyy
Ok habe es jetzt geschafft bvekomme jetzt aber diese Fehlermeldung:

Code: Alles auswählen

line 1132, in register_shape
    if name.lower().endswith(".gif"):
AttributeError: 'PhotoImage' object has no attribute 'lower'
Was sagst ddu denn dazui?

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Montag 11. Juni 2018, 17:35
von Sirius3
Was soll denn lower von einem Bild liefern? Das macht für mich logisch schon unsinnig.

Und bei dem Codeausschnitt den Du zeigst, kann man nicht mehr sagen, als dass Du was falsch machst.

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Montag 11. Juni 2018, 18:07
von __blackjack__
Sieht so aus als wenn das zweite Argument beim `register_shape()`-Aufruf fehlt. Das erste ist der Name, das zweite ein `Shape`-Exemplar. Und dem `Shape` kann man beim erstellen das `PhotoImage` übergeben.

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Montag 11. Juni 2018, 19:18
von Freddyyy
Tut mir leid aber kannst du mir vllt konkreter zeigen wie? Ich kene register shape nur Mit dem Attribut vom GIF Bild. Also register_shape("Exmaple.gif").

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Montag 11. Juni 2018, 19:46
von Sirius3

Code: Alles auswählen

register_shape("Bild", Shape("image", img))

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Dienstag 12. Juni 2018, 06:58
von Freddyyy
Ok aber was unterscheidest du zwischen Bild und Image?

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Dienstag 12. Juni 2018, 07:48
von Sirius3
"image" ist ein fester Wert, der sagt, die Shape ist ein Image, "Bild" ist ein beliebiger Name, den man selbst vergeben kann.

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Dienstag 12. Juni 2018, 12:02
von Freddyyy
Ok und für "Bild" muss ich dann denn namen für das Bild was ich als shape verwenden will angeben?

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Dienstag 12. Juni 2018, 12:04
von Freddyyy
Ich bekomme jtzt immer die Fhelermeldung :

Code: Alles auswählen

 raise TurtleGraphicsError("There is no shape type %s" % type_)
turtle.TurtleGraphicsError: There is no shape type Image

Re: Python kann ImageTK nicht importieren. PIL.ImageTK.PhotoImage()

Verfasst: Dienstag 12. Juni 2018, 13:32
von __blackjack__
@Freddyyy: Sirius3 hat da ja auch nicht 'Image' geschrieben sondern 'image'.