0

Python の PIL ライブラリをソースからビルドし (インストーラー実行可能ファイルからインストールされたバージョンのエラーのため)、ビルド コンピューターで jpg ファイルから Image() オブジェクトを作成できますが、PyInstaller を使用してこの Python アプリケーションをパッケージ化すると、アプリケーションはJPEG 画像を開けません。PIL エンコーダー jpeg not availableで説明されているように、PIL を正しくビルドしていませんか、それとも何か問題がありますか?

更新: エラー メッセージは「IOError: エンコーダー jpeg が利用できません」です。

編集:インストーラ実行可能ファイルからインストールされたバージョンの問題(以前のものではないにしても、バージョン1.1.7と1.1.6の両方)は、それがVC90.DebugCRTライブラリ/アセンブリにリンクしていることです。配布されることを意図しており、PyInstallerが私のシステムで見つけることができませんでした(バージョンはありましたが)。

4

2 に答える 2

1

インストールに jpeg エンコーダー/デコーダー dll を含める必要があります。そうしないと、それがまだないシステムでは動作しません。

これを自分で試したことはありませんが、 --enable-static を指定して構成スクリプトを実行する代わりに、静的リンクを使用してこれを行うこともできます。

于 2012-05-04T18:23:42.890 に答える
0

次の 2 つの選択肢があります。

  1. http://www.pythonware.com/products/pil/から PIL のビルド済みバイナリを使用します。

  2. ソースからビルド (JPEG サポートを取得する前に JPEG ライブラリをセットアップする必要があることに注意してください。Windows では簡単ではありません)

参照 (問題の解決には必要ありません):

Python Imaging Library (PIL) のフォークである pillow が JPEG サポート付きでインストールされていることを確認してください。pillow が最初にインストールされたときに、サポートされている形式が出力されます。JPEG サポートを取得する方法についての説明は、プラットフォームによって異なりますが、PIL のガイドは pillow でも機能するはずです。一般的に言えば、インストール中に libjpeg-dev がインストールされ、検出されることを確認する必要があります

于 2013-07-24T07:47:01.420 に答える