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

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Freddyyy
User
Beiträge: 69
Registriert: Donnerstag 26. April 2018, 17:50

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?
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

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?
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Freddyyy
User
Beiträge: 69
Registriert: Donnerstag 26. April 2018, 17:50

Ich habe die PIL exe Datei installiert
Naja wenn du mir eine anleitung gibst wie ich Pillow intalliere dann istalliere ich das auch gerne
Freddyyy
User
Beiträge: 69
Registriert: Donnerstag 26. April 2018, 17:50

Ach uihd beim anderen Thema habe ich keine antwort erhalten. Sorry
Freddyyy
User
Beiträge: 69
Registriert: Donnerstag 26. April 2018, 17:50

Ok habe dienen beitrag gefuinden. ImageTk funktioniert auch nicht.
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

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“.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Freddyyy
User
Beiträge: 69
Registriert: Donnerstag 26. April 2018, 17:50

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?
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

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.
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

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.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Freddyyy
User
Beiträge: 69
Registriert: Donnerstag 26. April 2018, 17:50

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").
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Code: Alles auswählen

register_shape("Bild", Shape("image", img))
Freddyyy
User
Beiträge: 69
Registriert: Donnerstag 26. April 2018, 17:50

Ok aber was unterscheidest du zwischen Bild und Image?
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

"image" ist ein fester Wert, der sagt, die Shape ist ein Image, "Bild" ist ein beliebiger Name, den man selbst vergeben kann.
Freddyyy
User
Beiträge: 69
Registriert: Donnerstag 26. April 2018, 17:50

Ok und für "Bild" muss ich dann denn namen für das Bild was ich als shape verwenden will angeben?
Freddyyy
User
Beiträge: 69
Registriert: Donnerstag 26. April 2018, 17:50

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
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Freddyyy: Sirius3 hat da ja auch nicht 'Image' geschrieben sondern 'image'.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten