Ubuntu Tkinter-installation nicht enthalten PyImagingPhoto
Für diejenigen, die wissen müssen, ich bin mit einem 64-bit Ubuntu 12.04, und versuchen, die problematischen Skript mit einem pip-installiert Python ist3.2
Für ein Projekt, das ich geschrieben hatte, ich wollte ein Bild in ein tkinter Fenster. Um dies zu tun, die ich installiert Kissen via pip installiert und tkinter python 3 so:
pip-3.2 install pillow #install stuff here
sudo apt-get install python3-tk
Ich habe dann versucht, führen Sie das folgende Skript
import tkinter
from PIL import Image, ImageTk
root = tkinter.Tk()
i = Image.open(<path_to_file>)
p = ImaageTk.PhotoImage(i)
Es gibt noch mehr, aber das block wirft den Fehler. Wie auch immer, wenn ich versuche, und führen Sie diese bekomme ich folgende Fehlerausgabe
/usr/bin/python3.2 "/home/anish/PycharmProjects/Picture Renamer/default/Main.py"
Traceback (most recent call last):
File "/usr/local/lib/python3.2/dist-packages/PIL/ImageTk.py", line 184, in paste
tk.call("PyImagingPhoto", self.__photo, block.id)
_tkinter.TclError: invalid command name "PyImagingPhoto"
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/anish/PycharmProjects/Picture Renamer/default/Main.py", line 26, in <module>
n = Main("/home/anish/Desktop/Images/")
File "/home/anish/PycharmProjects/Picture Renamer/default/Main.py", line 11, in __init__
self.PictureList = self.MakeImageList(self.dir)
File "/home/anish/PycharmProjects/Picture Renamer/default/Main.py", line 21, in MakeImageList
tkim = ImageTk.PhotoImage(temp_im)
File "/usr/local/lib/python3.2/dist-packages/PIL/ImageTk.py", line 123, in __init__
self.paste(image)
File "/usr/local/lib/python3.2/dist-packages/PIL/ImageTk.py", line 188, in paste
from PIL import _imagingtk
ImportError: cannot import name _imagingtk
Process finished with exit code 1
Kein Betrag googeln hat mir die Lösung - die Themen, die ich finden zu dieser Regel sagen neu installieren tkinter und/oder Kissen.
Hier der Inhalt meiner /usr/lib/Python ist3.2/tkinter/
['dialog.py', 'scrolledtext.py', 'simpledialog.py', 'tix.py', 'dnd.py', 'ttk.py', '__main__.py', '_fix.py', 'font.py', '__pycache__', 'messagebox.py', '__init__.py', 'commondialog.py', 'constants.py', 'colorchooser.py', 'filedialog.py']
Und hier sind die [vielen] Dateien in mein /usr/local/lib/Python ist3.2/dist-packages/PIL/
['OleFileIO.py', 'ImageFileIO.py', 'ImageCms.py', 'GimpGradientFile.py', 'PSDraw.py', 'ImageDraw2.py', 'GimpPaletteFile.py', 'TiffImagePlugin.py', 'ImageChops.py', 'ImageShow.py', 'ImageStat.py', 'FliImagePlugin.py', 'ImageColor.py', 'XpmImagePlugin.py', 'ImageOps.py', 'ExifTags.py', 'FpxImagePlugin.py', 'PngImagePlugin.py', 'ImageFile.py', 'WalImageFile.py', 'PixarImagePlugin.py', 'PsdImagePlugin.py', '_util.py', 'ImageDraw.py', 'GribStubImagePlugin.py', 'ContainerIO.py', 'CurImagePlugin.py', 'JpegPresets.py', '_imagingft.cpython-32mu.so', '_imagingmath.cpython-32mu.so', 'PpmImagePlugin.py', 'BmpImagePlugin.py', 'XbmImagePlugin.py', 'DcxImagePlugin.py', 'PaletteFile.py', 'SunImagePlugin.py', 'BufrStubImagePlugin.py', 'JpegImagePlugin.py', 'SpiderImagePlugin.py', 'ImageEnhance.py', 'TgaImagePlugin.py', 'IcnsImagePlugin.py', 'MspImagePlugin.py', 'ImageSequence.py', 'GifImagePlugin.py', 'ImageTransform.py', 'FontFile.py', 'GbrImagePlugin.py', 'EpsImagePlugin.py', 'XVThumbImagePlugin.py', 'BdfFontFile.py', 'PcdImagePlugin.py', 'TarIO.py', 'FitsStubImagePlugin.py', 'ImageMode.py', 'ArgImagePlugin.py', 'IcoImagePlugin.py', '_imaging.cpython-32mu.so', 'McIdasImagePlugin.py', '_binary.py', '__pycache__', 'ImageQt.py', 'Hdf5StubImagePlugin.py', 'PalmImagePlugin.py', 'ImagePalette.py', 'WebPImagePlugin.py', 'ImageFont.py', 'ImagePath.py', 'TiffTags.py', 'ImImagePlugin.py', 'ImageWin.py', 'ImageFilter.py', '__init__.py', 'SgiImagePlugin.py', 'ImageTk.py', 'ImageMath.py', 'GdImageFile.py', 'WmfImagePlugin.py', 'PcfFontFile.py', 'ImageGrab.py', 'PdfImagePlugin.py', 'IptcImagePlugin.py', 'ImtImagePlugin.py', 'MpegImagePlugin.py', 'MicImagePlugin.py', 'Image.py', 'PcxImagePlugin.py']
Könnt Ihr helfen mit diesem? Ich bin Total unsicher, dies war verwirrend, mich für ein paar Tage. Ich denke, dass VIELLEICHT Ubuntu Python ist3-tk-Paket ist unvollständig, aber ich kann nicht sehen, wenn das der Fall ist. Das gleiche gilt für pip Kissen. Irgendwelche Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also nach der Veröffentlichung einer Ausgabe auf GitHub mir wurde gesagt, ich wurde fehlen einige Bibliotheken.
Speziell, ich brauchte, um
sudo apt-get install tk8.5-dev tcl8.5-dev
dann
pip install -I pillow
Wiederaufbau Kissen. Dies funktionierte auf meinem raspberry pi läuft rasbian
pip install -I pillow
, die nichts Tat, ich verwendetsudo pip install pillow --upgrade
, dann hat es geklappt.sudo apt-get install tk8.6-dev tcl8.6-dev
gefolgt von Kissen installieren--no-cache-dir
zu denpip install
Befehl, anscheinend pip-cache für Kissen war irgendwie nicht korrekt.Ich kämpfte mit diesem für eine lange Zeit. Keine dieser Lösungen war für mich, andere Menschen waren feindlich zu fordern, hatte das problem auch schon gelöst worden, als er auf python2.7 anstelle von Python ist3 oder muss ich nicht nach der Anleitung. Aber auf Ubuntu mit mehr als einem computer, ich hatte dieses problem und hier ist, wie ich endlich gelöst:
Also im Grunde die apt-version, drehen Sie es aus und Sie es wieder einschalten. :/
Ich habe nicht die rep zu kommentieren, so werde ich Sie beantworten, statt
War ich auch immer der Fehler
can't from PIL import _imagingtk
mit Python ist3 auf Linux Mint 17
wenn Sie versuchen zu tun, ein
tk_im = ImageTk(im)
Erste habe ich installiert, die tk8.6-dev und tcl8.6-dev wie oben vorgeschlagen
Dann habe ich versucht die
pip3 --upgrade route
, die hat das problem nicht behobenWenn ich importiert PIL in einer shell, PIL.PILLOW_VERSION war 2.7.0.
Mit pip3 Liste jedoch behauptete, es zu sein 2.3.0.
also ich hab
sudo pip3 uninstall pillow
, gefolgt vonsudo pip3 install pillow
Nun, beide Methoden Lesen die version 2.7.0 zurück
und das Programm funktioniert!
Wann/wie ich gefangen Kissen 2.3, warum es würde nicht upgrade mit pip, und warum es zeigten als 2,7 in der python-shell, ich weiß es nicht, aber das deinstallieren/installieren Sie es behoben.