【问题标题】:Issues with pyinstallerpyinstaller 的问题
【发布时间】:2014-02-20 22:04:20
【问题描述】:

我已经创建了一个工作的 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

它似乎使规范文件正常,但在构建时生成带有大量回溯的错误:

pyinstaller.utils.winmanifest.invalidManifestError: Invalid root element <items> - has to be one of <assembly>, <assemblyBinding>, <configuration>, <dependentAssembly>

并退出构建过程。这是我第一次尝试为项目构建可执行文件,所以我在这里有点摸不着头脑。是我忘记做某事了,还是我在 pyinstaller 的程序中发现了一个 bug?

【问题讨论】:

  • 我进一步研究了这个问题,发现它可能不喜欢 xml。我的 xml 文档中的根标记是 所以我必须在此之前添加任何内容,还是让它有所不同?是否需要在我的 xml 文档中添加任何类型的前缀才能使其正常工作?

标签: python xml python-2.7 pyinstaller


【解决方案1】:

通常我不会回答我自己的问题,但我已经解决了这个问题,我认为其他人应该知道这一点。在创建程序并使用 xml 时,必须将根标记(第一个标记)设为 &lt;assembly&gt;。不知道为什么,但是当我这样做时它会起作用。另外,如果您将任何内容导入程序,请不要忘记使用--hidden-import=Module 命令。

【讨论】:

  • 你认为值得打开一个问题吗?然后我会这样做。如果您认为它不再相关或已被报告,请告诉我们。但我认为这是有道理的:-)
  • 我已经好几年没用过pyinstaller了。我不确定这个问题是否仍然相关。其他人将不得不进行调查,看看这是否是一个应该解决的问题。
  • 我搜索了一下,发现github.com/pyinstaller/pyinstaller/issues/3704。这并不完全相同,但足够相关。因为报告是关于 PyInstaller 3.3.1 而不是 3.4,所以问题已关闭!看到一个不错的项目支持太少让我感到难过。
猜你喜欢
  • 2019-04-06
  • 1970-01-01
  • 2020-12-26
  • 2021-06-25
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-15
相关资源
最近更新 更多