6

私はUbuntu12.04を使用していて、PIL-hellにいます。PILをインストールする方法について、オンラインで見つけることができるすべての提案を試しましたが、運がありません。私はすべての依存関係を持っているという事実を知っています。私はすべてのシンボリックリンクメソッドを試しました。setup.pyファイルを変更して、正しいディレクトリが見つかるようにしました。また、ソースからビルドして、pipを介してインストールしてみました。何も機能しません。インストールすると次のようになります。

--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.7.3 (default, Nov  4 2012, 15:42:19)
          [GCC 4.4.3]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------

selftest.pyが示すものは次のとおりです。

--------------------------------------------------------------------
PIL 1.1.7 TEST SUMMARY 
--------------------------------------------------------------------
Python modules loaded from ./PIL
Binary modules loaded from ./PIL
--------------------------------------------------------------------
--- PIL CORE support ok
*** TKINTER support not installed
*** JPEG support not installed
*** ZLIB (PNG/ZIP) support not installed
*** FREETYPE2 support not installed
*** LITTLECMS support not installed
--------------------------------------------------------------------

他に何をしようかわからない。私はいくつかの愚かなPNGファイルで遊んでみようとしています...

4

3 に答える 3

9

最も簡単な方法は次のとおりです。

sudo apt-get install python-imaging

virtualenvにインストールする必要がある場合、または絶対的な最新バージョンが必要な場合は、pipを使用してください。最初にpilに必要なものをいくつかインストールしてから、pipinstallを実行します。

sudo apt-get install libjpeg-dev libjpeg62 libjpeg62-dev zlib1g-dev libfreetype6 libfreetype6-dev
pip install PIL

以下のコメントに返信します。ubuntu 12.04を新規インストールして実行apt-get install python-imagingすると、システムにPILが正しくインストールされます。selftest.pyを実行するとubuntu12.04ボックスで次の出力が得られます。

--------------------------------------------------------------------
PIL 1.1.7 TEST SUMMARY 
--------------------------------------------------------------------
Python modules loaded from /usr/lib/python2.7/dist-packages/PIL
Binary modules loaded from /usr/lib/python2.7/dist-packages/PIL
--------------------------------------------------------------------
--- PIL CORE support ok
*** TKINTER support not installed
--- JPEG support ok
--- ZLIB (PNG/ZIP) support ok
--- FREETYPE2 support ok
--- LITTLECMS support ok
--------------------------------------------------------------------

あなたが探しているPNGサポートはOKとして表示されます。あなたのPythonインストールはおそらくある種の破損した状態にあると思います。あなたが言及したシンボリックリンクまたはこのパッケージをインストールする他の試みがあなたのインストールを破壊したのかもしれません。この状況を修正するために私が与えることができる3つの推奨事項があります

ソリューション

  1. マシンにubuntuを再インストールします。これは間違いなく機能するはずです。
  2. Python virtualenvを作成し、pipを使用してそこにPILをインストールします。これは、ベースのPythonシステムがどれほど破損しているかによっては機能する可能性があります。ここでの考え方は、virtualenvはデフォルトで、標準ライブラリのみを含む新しいpython環境を作成するというものです。
  3. Pythonのインストールを修復します。python-imagingパッケージを試しapt-get purge python-imagingてから再インストールできます。
于 2012-11-22T03:57:34.740 に答える
4

Ubuntu 64ビットで実行している場合は、Marwanの手順に加えて別の手順が必要になる場合があります。

PILセットアップはでライブラリを検索しますが/usr/lib、Ubuntu64はそれらをに配置し/usr/lib/x86_64-linux-gnuます。実用的な解決策は、リンクを作成することです。

sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib
于 2013-07-05T20:17:24.407 に答える
1

PILとPillowを一緒にインストールすると問題が発生しました。

を使用してPILをインストールしapt-get install python-imagingてから実行すると、次のようselftest.pyになります(これで問題ありません)。

--- PIL CORE support ok
*** TKINTER support not installed
--- JPEG support ok
--- ZLIB (PNG/ZIP) support ok
--- FREETYPE2 support ok
--- LITTLECMS support ok

その後、Pillowをインストールしてsudo pip install Pillowから再実行すると、次のようselftest.pyになります。

--- PIL CORE support ok
*** TKINTER support not available
(Tcl/Tk 8.5 libraries needed)
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
*** TIFF G3/G4 (experimental) support not available
*** FREETYPE2 support not available
*** LITTLECMS support not available
*** WEBP support not available

複数の「サポートが利用できません」を解決して初期状態に戻すために、Pillowをアンインストールしました。

于 2013-07-15T11:47:17.350 に答える