Я пытаюсь создать приложение, которое использует некоторые данные xml, используя встроенный в Python класс xml.etree.ElementTree. Он работает правильно, когда я запускаю из командной строки, но когда я его собираю, я получаю сообщение об ошибке «ImportError: No module etree.ElementTree». Я предполагаю, что это потому, что я неправильно импортирую этот модуль, но я не смог понять, как это сделать. Когда я использую директиву «включает» или «пакеты», py2app жалуется на ту же ошибку, и когда я специально указываю package_dir (/System/Library/...), он компилируется, но все равно выдает ошибку. Я включил короткий пример, чтобы проиллюстрировать проблему.
macxml.py
from xml.etree.ElementTree import ElementTree
if __name__ == '__main__':
tree = ElementTree()
print tree.parse('lib.xml')
Это должно распечатать «‹ Библиотека элементов в xxxxxx>», где библиотека — это корневое имя.
setup.py
from setuptools import setup
setup(name="Mac XML Test",
app=['macxml.py'],
)
Как правильно заставить приложение Mac использовать эту библиотеку?
Питон 2.6.4
Mac OS X 10.6.2
Изменить: я также попробовал это на другом Mac (PPC 10.5.8) с Python 2.6.2 и добился тех же результатов.