PyInstaller打包成单个文件时未包含数据文件

3
我有一个应用程序想要打包成单个文件,但是使用--onefile选项时会出现包含html、js和css文件的问题。当运行--onedir时,这个过程可以正常工作(当然,在 .spec 文件的 analysis 中添加路径和所需数据文件的路径后)。
我尝试了这个问题中提出的解决方案,但在打包后我遇到了一个错误:app name returned -1。此外,当不包括该答案中提供的代码时,打包成一个文件可以正常工作,但仍缺少我需要的 html、js 和 css 文件。
有没有遇到这个问题并且有一个修复 pyinstaller 3.1.1 的解决方案的人?
感谢任何帮助!
1个回答

1
所以最终我自己解决了这个问题。再次阅读文档后,我注意到有一个小段落说,在单文件模式下,exe将创建一个名为MEIPASS的临时文件夹,这是我链接答案中提到的文件夹。然而,在我的情况下,由于我有多个数据文件在我的应用程序中交换,我不得不改变所有对这些文件的引用,改为调用sys._MEIPASS + '/' + file而不是我一直在使用的QDir.currentPath() + '/' + file(此应用程序是使用PyQt4构建的)。
此外,对于与我的html相关联的CSS和js文件,我必须确保href调用位于同一文件夹中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接