我想构建一个应用程序,使用一些xml数据使用Python的内置xml.etree.ElementTree类。当我从命令行运行时它工作正常,但是当我构建它时,出现“ImportError:No module etree.ElementTree”错误。我猜这是因为我没有正确导入该模块,但我一直无法弄清楚。当我使用“includes”或“packages”指令时,py2app会抱怨同样的错误,并且当我特别指定package_dir(/ System/Library/...)时,它会编译,但仍然会给我错误。我列举了一个简短的例子来说明这个问题。py2app和xml.etree.ElementTree
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应用程序使用这个库的正确方法是什么?
的Python 2.6.4
的Mac OS X 10.6.2
编辑:我也使用Python 2.6.2尝试这种在另一台Mac(PPC 10.5.8),并取得相同的结果。
假设我们做了同样的事情,这对我也有效,因为下面的格式不好,我把它添加到下面的评论。编辑find_modules.py和改变 REPLACEPACKAGES = { '_xmlplus': 'XML', } 到 REPLACEPACKAGES = {# '_ xmlplus': 'XML', } – Steven 2011-01-07 16:54:24