Не удается импортировать EasyDialogs - ImportError: нет модуля с именем _Dlg - PullRequest
1 голос
/ 11 ноября 2010

Я пытаюсь использовать модуль Python EasyDialogs, чтобы создать несколько простых диалоговых окон для моего скрипта Python для 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, так как я думал, что это может быть связано с некоторой проблемой с пакетом Carbon для python, но это не помогло. Есть идеи?

1 Ответ

3 голосов
/ 12 ноября 2010

Судя по путям в вашей трассировке, вы используете 64-битный дистрибутив Python Enthought. Модуль EasyDialogs использует различные интерфейсы OS X Carbon, многие из которых OS X предоставляют только 32-разрядные версии и не рекомендуются Apple. По этой причине модули Python Carbon и EasyDialogs устарели в Python 2 и удалены в Python 3. Хотя они могут работать в 32-разрядном режиме, следует избегать их использования в новом коде. Доступны и другие альтернативы: Tkinter в стандартной библиотеке, различные кроссплатформенные инфраструктуры GUI (см. здесь ). Для более простых диалогов вы также можете использовать пакет osax в appscript , чтобы использовать User Interaction пакет AppleScript's Standard Additions.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...