3

1 時間に 2 つの質問をするのは気の毒ですが、まあまあ。

Python と PySide を使用してかなり複雑なアプリケーションを構築しています。いよいよリリース日が近づいてきたので、このアプリをexe化してビルドしたいと思います。PyInstaller を使用して exe バイナリをビルドしています。

このアプリケーションの一部は、いくつかの JPEG 画像を読み込みます。これらの画像をアプリケーションにロードする際に問題が発生したため (表示されないだけです)、次のようにする必要がありました。

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

これで機能しました(このパスには、およびその他の画像読み込みプラグインimageformatsを含むフォルダーが含まれます)qjpeg4.dll

ただし、PyInstaller でパッケージ化すると、同じ問題が発生しました。フラグを使用する必要がありますが、使用--onefileしない場合でも、PyInstaller にimageformatsフォルダーが含まれていないことがわかります。どこにも見つかりません。

imageformats フォルダーを exe があるフォルダーに手動でコピー/貼り付けすると、アプリケーションが期待どおりに動作するため、これが問題であることはわかっています。

指定したフォルダー、特にこの imageformats フォルダーを PyInstaller に強制的に含める方法はありますか?

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 に答える