3

在一个小时内问两个问题我感觉很糟糕,但是哦,好吧。

我正在使用 Python 和 PySide 构建一个相当复杂的应用程序。终于发布的日子快到了,所以我想将此应用程序构建为 exe。我正在使用 PyInstaller 构建我的 exe 二进制文件。

此应用程序的一部分加载一些 JPEG 图像。我在将这些图像加载到我的应用程序时遇到了问题(它们只是不会出现),所以我必须这样做:

path = os.getcwd()
app.addLibraryPath(path) #app being QApplication()

这使它工作(此路径包含包含和其他图像加载插件的imageformats文件夹)qjpeg4.dll

但是,现在我在使用 PyInstaller 打包时遇到了同样的问题。我必须使用该--onefile标志,但即使我不使用,我也可以看到 PyInstaller 没有包含该imageformats文件夹 - 无处可寻。

我知道这是问题所在,因为当我手动将 imageformats 文件夹复制/粘贴到 exe 所在的文件夹中时,应用程序按预期工作。

有没有办法强制PyInstaller 包含我指定的文件夹,特别是这个 imageformats 文件夹?

4

2 回答 2

0

使用 PyInstaller 时有一个选项--additional-hooks-dir=HOOKSDIR,它将附加目录到 pyinstaller 搜索路径。

于 2012-12-20T04:36:31.380 回答
0

PyInstaller 的选项--add-data <SRC;DEST or SRC:DEST>

pyinstaller --add-data "\path\of\imageformats;imageformats" target.py
于 2020-03-12T08:05:12.177 回答