Python type object image has no attribute open

Невозможно открыть изображения с помощью Python Image.open ()

Когда я вызываю эту функцию, я получаю сообщение об ошибке:

⇝ AttributeError: type object 'Image' has no attribute 'open' 
import Image im = Image.open('test.jpg') 

У меня нет никакой проблемы. Любые идеи? Спасибо!

Можете ли вы опубликовать весь файл, который дает вам эту ошибку? — Mike Graham

3 ответы

Странно, что вы получаете исключение о том, что Image является объектом типа, а не модулем. Назначается ли «Изображение» в другом месте вашего кода?

Это был глупый вопрос, извините. Имя моего класса было Image, поэтому возник конфликт. Спасибо за помощь! — поймать в ловушку

Есть ли в вашем фактическом коде неправильные утверждения:

Модуль Image содержит класс Image, но они, конечно, разные (у модуля есть метод open). Если вы используете любую из этих двух форм, Image будет неправильно ссылаться на класс.

РЕДАКТИРОВАТЬ: Другая возможность заключается в том, что вы сами определяете конфликтующее имя изображения. У вас есть собственный класс изображений? Если это так, переименуйте его.

Эти строки были возможными причинами ошибки, а не рекомендациями. Если вы раньше не использовали такой код, возможно, Крис прав. Изображение получает неправильное значение где-то еще (может быть, у вас есть собственный класс изображения?) — Мэтью Флашен

Это согласуется с тем, что вы создали класс (в новом стиле) с именем Image или импортировали его откуда-то еще (возможно, непреднамеренно из импорта «*») в какой-то момент после импорта «Image»:

>>> import Image >>> Image.open >>> class Image(object): pass . >>> Image.open Traceback (most recent call last): File "", line 1, in AttributeError: type object 'Image' has no attribute 'open' >>> 

Ищите это. Вы можете проверить с помощью «print Image», что должно дать вам что-то вроде:

Источник

AttributeError: Image has no attribute ‘open’

I’m new to learning the Tkinter Module that is built in Python. I was trying to build a simple Image Viewer GUI using pillow. I’m getting an Attribute Error here.

AttributeError: type object 'Image' has no attribute 'open' 
from PIL import ImageTk,Image from tkinter import * base = Tk() base.title("Image Viewer") base.iconbitmap("download.ico") img1 = ImageTk.PhotoImage(Image.open("download.png")) label1 = Label(image = img1) label1.grid(row = 0, column = 0, columnspan = 3) base.mainloop() 

I can’t seem to find a fix for this and none of the solutions for similar questions on StackOverflow, work.

Answers

this imports everything from tkinter, including Image:

Init signature: Image(imgtype, name=None, cnf=<>, master=None, **kw) Docstring: Base class for images. File: [. ] Type: type Subclasses: PhotoImage, BitmapImage 

So, the Image module that you import earlier from PIL is overwritten.

from tkinter import * from PIL import Image, ImageTk 

b) import only that what you need from tkinter

from PIL import ImageTk, Image from tkinter import Tk 

c) import Image as something else:

from PIL import ImageTk from PIL import Image as PILImage from tkinter import * 

The type of error you describe can be caused simply by mismatched indentation. If the method is at the very bottom of your class, move it up in the class a bit and the problem will become apparent.

When python interpreters run into mismatched indents (like say you started using tabs at the bottom of a file that was indented with spaces), the interpreter will not always throw an error; it can simply ignore the rest of the file. I ran into this just today while updating some old code where the original author used different whitespace chars (that happened to match my Geany tabs), and it threw me for a loop for a lot longer than I’d like to admit. 🙂

Источник

Помогите с изображением! AttributeError: type object ‘Image’ has no attribute ‘open’

def _about():
win = Toplevel(root)
win.iconbitmap(‘First_String.ico’)
win.geometry(‘300×200’)
lab = Label(win, text=»First string version 1.4\n»
«Developer:NewModernSoft\n»
«2019.02.16\n»
«Copyrighted by NewModernSoft©»)
lab.pack()
img = Image.open(«mnm.png»)
img.show()

def _exit():
global sa
if askyesno(«Exit», «Saved changes?»):
if sa is None:
sa = asksaveasfilename(defaultextension=».txt», filetypes=((«text file», «*.txt»), («All Files», «*.*»)))
_save()
root.destroy()

def _newwindow():
root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)

m = Menu(root)
root.config(menu=m)

fm = Menu(m)
m.add_cascade(label=»File», menu=fm)
fm.add_command(label=»New», command=_newwindow)
fm.add_command(label=»Open», command=_open)
fm.add_command(label=»Save», command=_save)

hm = Menu(m)
m.add_cascade(label=»Help», menu=hm)
hm.add_command(label=»About Program», command=_about)
hm.add_command(label=»Exit», command=_exit)

txt = Text(root, width=110, height=500, font=’14’, yscrollcommand=scrollbar.set)
txt.pack(side=LEFT, fill=BOTH)
scrollbar.config(command=txt.yview)
scrollbar.bind(»)

root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)

fm = Menu(m)
m.add_cascade(label=»File», menu=fm)
fm.add_command(label=»New», command=_newwindow)
fm.add_command(label=»Open», command=_open)
fm.add_command(label=»Save», command=_save)

hm = Menu(m)
m.add_cascade(label=»Help», menu=hm)
hm.add_command(label=»About Program», command=_about)
hm.add_command(label=»Exit», command=_exit)

txt = Text(root, width=110, height=500, font=’14’, yscrollcommand=scrollbar.set)
txt.pack(side=LEFT, fill=BOTH)
scrollbar.config(command=txt.yview)
scrollbar.bind(»)

Источник

Читайте также:  Adding php page to wordpress
Оцените статью