无法导入EasyDialogs - ImportError:没有名为_Dlg的模块

时间:2010-11-11 20:56:00

标签: python user-interface

我正在尝试使用EasyDialogs python模块为OSX上的python脚本生成一些简单的对话框。每当我尝试导入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 个答案:

答案 0 :(得分:3)

从回溯中的路径,您似乎使用的是64位Enthought Python Distribution。 EasyDialogs模块使用各种OS X Carbon接口,其中许多OS X仅提供32位版本,并且已被Apple弃用。出于这个原因,Python {2}中不推荐使用Python Carbon包装器和EasyDialogs模块,并且已在Python 3中删除它们。虽然它们可能在32位模式下工作,但您应避免在新代码中使用它们。还有其他可用选择:标准库中的Tkinter,各种跨平台GUI框架(请参阅here)。对于更简单的对话框,您还可以使用osax中的appscript包来使用AppleScript User Interaction的{​​{1}}套件。