pyinstaller onefile 不包括数据文件

pyinstaller onefile not including data files

我有一个应用程序,我想将其打包到一个文件中,但是 运行我遇到了 --onefile 选项的问题,包括 html、js 和 [=24] =] 文件。该过程在 运行ning --onedir 时工作正常(当然是在将各个数据文件的路径和所需路径添加到 .spec 文件的 analysis 中的 data 之后。

我尝试了this question中提出的解决方案,但打包后出现错误app name returned -1。此外,当不包括此答案提出的代码时,打包到一个文件工作正常,同样缺少我需要的 html、js 和 css。

有没有人 运行 解决了 pyinstaller 3.1.1 的这个问题?

在此先感谢您的帮助!

所以我最终自己解决了这个问题。再次阅读文档后,我注意到这里有一个小的宣传语,它说在一种文件模式下,exe 将创建一个名为 MEIPASS 的临时文件夹,这是我链接的答案中引用的文件夹。但是,就我而言,因为我有多个数据文件在我的应用程序中被换出,所以我不得不更改对这些文件的所有引用以调用 sys._MEIPASS+ '/' + file 而不是我一直在使用的 QDir.currentPath() + '/' + file (这应用程序是使用 PyQt4 构建的)。

此外,对于与我的 html 关联的 CSS 和 js 文件,我必须确保 href 调用位于同一文件夹中的位置。