事实证明,问题确实是Tkinter
。我使用的是 64 位 Mac 版本的 EPDPython,出于某种原因,他们决定将 Tk/Tcl 链接到 X11 而不是 aqua 或 cocoa。
然而,OsX 10.8 预装了正确版本的 Tk/Tcl,并且默认的 python 安装/usr/bin/python.2.7
可以开箱即用,因为它使用正确的Tkinter
. 解决方案是从 EPD 安装中删除错误的库,然后它会退回到正确的系统库。
要尝试建议的修复程序是否有效,请运行系统 python
$ /usr/bin/python2.7
Python 2.7.2 (default, Jun 20 2012, 16:23:33)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from Tkinter import *
>>>
这应该没有问题完成(没有对话框),如果你的系统 python 很好,删除这些
/Library/Frameworks/EPD64.framework/Versions/7.2/lib/libtcl8.5.dylib
/Library/Frameworks/EPD64.framework/Versions/7.2/lib/libtk8.5.dylib
/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/lib-dynload/_tkinter.so
并且python应该依靠系统中的
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_tkinter.so