PyInstaller和PySide,如何包含imageformats文件夹?

时间:2012-11-17 12:45:53

标签: python qt pyside pyinstaller

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

我正在使用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文件夹?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

pyinstaller --add-data "\path\of\imageformats;imageformats" target.py