web-dev-qa-db-ja.com

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

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

やってみた

Sudo apt-get install python-imaging

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

...
*** 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」を使用しています)。

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

35
David Cary

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

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 /

25
Hernantz

上記のソリューションは、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

成功!

enter image description here


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
30
Nick Woodhams

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

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

13
Lynob

上記の回答により、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
4
Salami

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をインポートできます。

2
Corey Goldberg

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

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

Sudo apt-get build-dep python-imaging
Sudo apt-get install libjpeg62 libjpeg62-dev
2
sagar soni

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

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

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

pip install Pillow
2
aclark