无法导入EasyDialogs - ImportError: 没有名为_Dlg的模块
我正在尝试在我的Python脚本中使用EasyDialogs这个模块来制作一些简单的对话框,运行在OSX系统上。每当我尝试导入EasyDialogs模块时,就会出现以下错误:
>>> import EasyDialogs
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/EPD64.framework/Versions/6.2/lib/python2.6/plat-mac/EasyDialogs.py", line 24, in <module>
from Carbon.Dlg import GetNewDialog, SetDialogItemText, GetDialogItemText, ModalDialog
File "/Library/Frameworks/EPD64.framework/Versions/6.2/lib/python2.6/plat-mac/Carbon/Dlg.py", line 1, in <module>
from _Dlg import *
ImportError: No module named _Dlg
我试过运行 easy_install Carbon
,因为我觉得可能是Python的Carbon包出了什么问题,但这样做并没有解决问题。有没有什么建议?
1 个回答
3
从你的错误信息来看,你似乎在使用64位的Enthought Python发行版。EasyDialogs
这个模块使用了很多OS X的Carbon接口,但这些接口大多数只有32位版本,而且苹果已经不再支持它们了。因此,在Python 2中,Carbon
的封装和EasyDialogs
模块已经被标记为不推荐使用,而在Python 3中则被移除了。虽然在32位模式下它们可能还能用,但在新代码中最好不要使用它们。现在有其他的替代方案可以选择:比如标准库中的Tkinter
,还有一些跨平台的图形用户界面框架(可以在这里查看)。如果你需要更简单的对话框,也可以使用osax包,它是appscript的一部分,可以用来调用AppleScript的User Interaction
套件中的Standard Additions
。