Pythonイメージングライブラリ(PIL)をインストールするにはどうすればよいですか?


35

UbuntuにPythonイメージングライブラリ(PIL)をインストールするにはどうすればよいですか?

やってみた

sudo apt-get install python-imaging

しかし今、python selftest.py(http://pythonware.com/products/pil/ Webサイトのどこかから取得したスクリプト)を実行すると、(他の警告メッセージの中で)取得します。

...
*** JPEG support not installed
*** ZLIB (PNG/ZIP) support not installed
...
*** 1 tests of 57 failed.

どういうわけかPILを台無しにしたことがありますか?どうすれば修正できますか?

PILはおそらく問題ありませんが、その "selftest.py"はPILが適切にインストールされているかどうかを確認するための正しいプログラムではありません。PILが適切にインストールされているかどうかを確認する方法はありますか?

(Ubuntu 12.04 LTS "Precise Pangolin"を使用しています)。

(最終的に私がやろうとしているのは、2DバーコードジェネレータをいくつかのPythonコードに追加することであり、Pythonで書かれたすべての2DバーコードジェネレータはすべてPILを使用しているようです)


2
アプリケーションでPILを使用してみてください。selftest.pyに
アーロンヒル

1
あなただけ行うように18.04でそれが見えますsudo apt-get install python-pilsudo apt-get install python3-pil
シュル

^間違いなく、sudo apt-get install python-pilちょうど私のためにraspbianで働きました。
alecxe

回答:


25

同様のことが私に起こった、私はこのように解決した

sudo apt-get install libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev

そして、経由でインストールしてみてくださいpip install PIL

ほかの何にpip見つけることができますされてここに。要するに、Pythonライブラリをインストールする便利な(そして標準になっている)方法です。

それでも失敗する場合は、PILが別のパスでそれらのライブラリを検索していることが原因である可能性があります。

これは、APTのインストールが下のライブラリを置くことが判明は/ usr / libに/ x86_64の-のlinux-gnuのとPILは、それらを検索しますは/ usr / libに/。そのため、PILのシンボリックリンクを作成して表示する必要があります。

libjpegおよびlibz libsが/ usr / lib / x86_64-linux-gnuに存在するかどうかを確認し、この方法でシンボリックリンクを作成してください

sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so.6 /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so.62 /usr/lib/

ソース: http : //jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/


これはUbuntu 12.04 64ビットでは機能しませんでした。
ガスE

1
ニーズに合っている場合は、「枕」を試すことができます。これは、PILの代替品です。
ヘルナンツ

7
可能な限り、を使用しますpillow。これは基本的にPILですが、実際には維持されています。
ターネブリムホール

パッケージzlib1g-devは使用できませんが、別のパッケージによって参照されています。これは、パッケージが見つからないか、廃止されているか、別のソースからのみ利用できることを意味する場合がありますE:パッケージlibjpegが見つかりませんE:パッケージlibjpeg-devが見つかりませんE:パッケージlibfreetype6-devが見つかりませんE:パッケージ 'zlib1g -dev」はインストール候補がありません
Aalok

Ubuntu 12.04 LTSのpython-imagingパッケージはJPEGライブラリにリンクされており、変更ログには、2011年7月より前のマルチアーキテクチャの破損が記載selftest.pyされています。これにより、これも壊れていた可能性があります。
ジョシップロダン

30

上記のソリューションは、libjpegがリポジトリで利用できないため、Ubuntu 12.10では動作しませんでした。

最終的に私のために働いたのは:

sudo apt-get build-dep python-imaging
sudo apt-get install libjpeg62 libjpeg62-dev

「sources.listに「ソース」URIを入力する必要があります」というエラーが表示される場合は、/ etc / apt / sources.listにdebエントリと一致するdeb-srcエントリがあることを確認してください。

次に、サーバー上の実際の場所からPILが期待する場所にファイルをシンボリックリンクする必要があります。

32ビット版

sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib/libz.so
sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so /usr/lib/libfreetype.so

64ビット版

sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/libz.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/libfreetype.so

最後に、 pip install PIL

成功!

ここに画像の説明を入力してください


2014年9月の更新

枕は、PILのよりモダンなフォークです。

#jpeg support
sudo apt-get install libjpeg-dev
#tiff support
sudo apt-get install libtiff-dev
#freetype support
sudo apt-get install libfreetype6-dev
#openjpeg200support (needed to compile from source)
wget http://downloads.sourceforge.net/project/openjpeg.mirror/2.0.1/openjpeg-2.0.1.tar.gz
tar xzvf openjpeg-2.0.1.tar.gz
cd openjpeg-2.0.1/
sudo apt-get install cmake
cmake .
sudo make install
#install pillow
pip install pillow

1
13.04で枕を使用して、シンボリックリンクなしで動作します。
ユージンナゴルニー

2
私のためにも働いた(14.04 LTS 64ビット、上記から変更なし):sudo apt-get build-dep python-imaging sudo apt-get install libjpeg62 libjpeg62-dev
Peter Teoh

「apt-get build-dep python-imaging」が必要でした
peterretief

13

私はただ追加したい、それpip install pilはもはや動作し ません、少なくとも私のマシンでは、あなたはしなければなりません

pip install PIL --allow-external PIL --allow-unverified PIL


5
pip install Pillow代わりに試してくださいpip install pill(後者は存在しません)
4

@LynobこれはPILと同じですか?TkInkerによってサポートされていますか?
3kstc

@ 3kstcはい、そうです
リノブ

4

上記の回答により、x86の場所にx64ライブラリのリンクが作成されます。代わりに、PILソースをダウンロードしてから、これらの行をsetup.pyに追加します。

    add_directory(library_dirs, "/usr/lib/x86_64-linux-gnu")
    add_directory(library_dirs, "/lib/x86_64-linux-gnu")

これらの行の後(〜行211)

    # standard locations
    add_directory(library_dirs, "/usr/local/lib")
    add_directory(include_dirs, "/usr/local/include")

    add_directory(library_dirs, "/usr/lib")
    add_directory(include_dirs, "/usr/include")

PILを再インストールします。pipを使用している場合:

pip uninstall PIL

次に、ソースディレクトリから次を実行します。

python setup.py install

2

このソリューションは、libjpegがリポジトリで利用できないため、Ubuntu 14.04で動作します。

何が私のために働いたのですか

sudo apt-get build-dep python-imaging
sudo apt-get install libjpeg62 libjpeg62-dev

2

sudo apt-get install python-imaging枕ないPILがインストールされます。についてselftest.py、ソースチェックアウトして実行する必要があります。そしてもちろん、PILで依存関係をサポートする場合は、依存関係をインストールする必要があります。

sudo apt-get install libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev

Ubuntuに含まれているバージョンよりも新しいバージョンのPILを実行するには:

pip install Pillow

2

14.04のvirtualenvにPillowをインストールする必要がありました(システムパッケージは使用していません)。

virtualenv内でPyPIから枕を構築するには(Python 2.7):

$ sudo apt-get build-dep pillow
$ virtualenv venv
$ source venv/bin/activate
(venv)$ pip install pillow

...その後、PILをインポートできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.