我正在尝试在Mac 10.6.8上运行以下命令:
Python 2.7.2 |EPD 7.1-2 (64-bit)| (default, Jul 27 2011, 14:50:45)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
import Image
import ImageTk
from Tkinter import Tk
window = Tk()
i = Image.open("file.jpg")
photo = ImageTk.PhotoImage(i)
Segmentation fault
我见过其他人在这种情况下遇到过总线错误。有没有人知道这里的错误或绕过它的方式?我无法理解http://infohost.nmt.edu/tcc/help/pubs/pil/image-tk.html是否相关。谢谢!
我很遗憾地说,即使在升级EPD后也会发生同样的事情:
Python 2.7.2 |EPD 7.2-2 (64-bit)| (default, Sep 7 2011, 16:31:15)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
答案 0 :(得分:2)
如果您没有使用Apple的Tcl/Tk
,请尝试在otool -L
上运行_imagingtk.so
以查看是否在/System/Library
中查找其共享库。它应该在/Library
,而不是/System/Library
。如果是,您可以使用install_name_tool
更改库搜索路径。
答案 1 :(得分:1)
您是否尝试过以32位模式运行Mac Python?
看看Fat Binary:
cd /usr/bin/
file python
我明白了:
python: Mach-O universal binary with 2 architectures
python (for architecture x86_64): Mach-O 64-bit executable x86_64
python (for architecture i386): Mach-O executable i386
要尝试32位模式,您可以这样做:
arch -i386 /usr/bin/python
如果可以,那么至少可以解决这个问题。
答案 2 :(得分:1)
现已修复
Enthought Canopy Python 2.7.6 | 64-bit | (default, Apr 11 2014, 11:55:30)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.