我已经创建了一个有效的GUI程序(使用tkinter),但是当我尝试使用pyinstaller编译它时(py2exe仅适用于python 2.6并且我使用2.7用于程序),它不起作用。我有2个文件:program.py和data.xml。该程序使用xml文档检索信息并将其显示在窗口中。我看了一遍,但似乎没有人遇到过类似的问题,而且pyinstaller文档也没用。我使用的命令是
python pyinstaller.py -w -mdata.xml -nProgram program.py
它似乎使spec文件正常,但在构建时生成一个带有大量回溯的错误:
pyinstaller.utils.winmanifest.invalidManifestError: Invalid root element <items> - has to be one of <assembly>, <assemblyBinding>, <configuration>, <dependentAssembly>
退出构建过程。这是我第一次尝试为项目构建一个可执行文件,所以我有点在黑暗中拍摄。我忘了做某事,或者我只是在pyinstaller程序中发现了一个错误?
答案 0 :(得分:1)
通常我不会回答我自己的问题,但我已经解决了这个问题,我认为其他人应该知道这个问题。在创建程序并使用xml时,必须将根标记(第一个)标记为<assembly>
。不知道为什么,但是当我这样做时它会起作用。另外,如果您在程序中导入了任何内容,请不要忘记使用--hidden-import=Module
命令。