2012-11-17 41 views
3

我在一小時內提出兩個問題感到不好,但是哦。PyInstaller和PySide,如何包含imageformats文件夾?

我正在使用Python和PySide構建一個相當複雜的應用程序。最後,發佈日期即將到來,所以我想將這個應用程序構建爲一個exe文件。我使用PyInstaller來構建我的exe二進制文件。

此應用程序的一部分加載一些JPEG圖像。我有問題加載這些圖片到我的應用程序(它們只是不會顯示出來),所以我不得不這樣做:

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

這使得它的工作(此路徑包含其中包含qjpeg4.dll和其他的imageformats文件夾圖片加載插件)

但是,現在我用PyInstaller打包時遇到了同樣的問題。我必須使用--onefile標誌,但即使我沒有,我也可以看到PyInstaller沒有包含imageformats文件夾 - 無處可尋。

我知道這是問題所在,因爲當我手動將imageformats文件夾複製/粘貼到exe文件夾所在的位置時,應用程序按預期工作。

有沒有辦法force PyInstaller包含我指定的文件夾,特別是這個imageformats文件夾?

+0

你有Qt資源文件中的JPEG文件嗎?與查找qjpeg4.dll或加載圖像本身的問題? – sid16rgt

回答

0

使用PyInstaller,--additional-hooks-dir=HOOKSDIR時會有一個選項,它會將其他目錄附加到pyinstaller搜索路徑。

+0

PyInstaller用戶手冊中說「--additional-hooks-dir = HOOKSPATH搜索鉤子的附加路徑,這將進入擴展hookspath,請參閱下面的分析。 – bootchk

+1

所以我不認爲這個答案是正確的。你還需要編寫一個自定義的鉤子模塊。修改spec文件使其包含dll不是很簡單嗎? – bootchk

相關問題