Я тестирую создание графического интерфейса с помощью модуля Tkinter. Я пытался добавить изображение в графический интерфейс с помощью PIL. Мой код выглядит следующим образом:
import Tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
root.title('background image')
imfile = "foo.png"
im = Image.open(imfile)
im1 = ImageTk.PhotoImage(im)
Когда я запускаю этот код, я придумываю некоторые ошибки, которые приводят к segfault.
objc[5431]: Class TKApplication is implemented in both/Users/sykeoh/anaconda/lib/libtk8.5.dylib and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
objc[5431]: Class TKMenu is implemented in both /Users/sykeoh/anaconda/lib/libtk8.5.dylib and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
objc[5431]: Class TKContentView is implemented in both /Users/sykeoh/anaconda/lib/libtk8.5.dylib and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
objc[5431]: Class TKWindow is implemented in both /Users/sykeoh/anaconda/lib/libtk8.5.dylib and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
Segmentation fault: 11
Я посмотрел онлайн и, похоже, проблема с базой Tk в моей библиотеке Systems, а другая в библиотеке anaconda. Однако ни одно из решений действительно не сработало. Любые возможные решения или обходные пути?
Проблема связана с запуском ImageTk.Photoimage. Если я удалю эту строку кода, проблем нет.