PIPを使用したPILのインストール


349

次のコマンドを使用してPIL(Python Imaging Library)をインストールしようとしています。

sudo pip install pil

しかし、私は次のメッセージを受け取ります:

Downloading/unpacking PIL
  You are installing a potentially insecure and unverifiable file. Future versions of pip will default to disallowing insecure files.
  Downloading PIL-1.1.7.tar.gz (506kB): 506kB downloaded
  Running setup.py egg_info for package PIL
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py

Installing collected packages: PIL
  Running setup.py install for PIL
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py
    --- using frameworks at /System/Library/Frameworks
    building '_imaging' extension
    clang -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -IlibImaging -I/System/Library/Frameworks/Python.framework/Versions/2.7/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.8-intel-2.7/_imaging.o
    unable to execute clang: No such file or directory
    error: command 'clang' failed with exit status 1
    Complete output from command /usr/bin/python -c "import setuptools;__file__='/private/tmp/pip_build_root/PIL/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-AYrxVD-record/install-record.txt --single-version-externally-managed:
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py

running install

running build

.
.
.
.

copying PIL/XVThumbImagePlugin.py -> build/lib.macosx-10.8-intel-2.7

running build_ext

--- using frameworks at /System/Library/Frameworks

building '_imaging' extension

creating build/temp.macosx-10.8-intel-2.7

creating build/temp.macosx-10.8-intel-2.7/libImaging

clang -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -IlibImaging -I/System/Library/Frameworks/Python.framework/Versions/2.7/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.8-intel-2.7/_imaging.o

unable to execute clang: No such file or directory

error: command 'clang' failed with exit status 1

----------------------------------------
Cleaning up

PILのインストールを手伝っていただけませんか?


Xcodeをインストールしてから、Xcodeのコマンドラインツールをインストールしましたか?clangコンパイラがないようです。
2013年

回答:


586
  1. 前述のとおり、XcodeおよびXcodeコマンドラインツールをインストールします。
  2. PILは基本的に死んでいるので、代わりに枕を使用してください。枕はPILの維持されたフォークです。

https://pypi.python.org/pypi/Pillow/2.2.1

pip install Pillow

両方のPythonをインストールしていて、これをPython3にインストールする場合:

python3 -m pip install Pillow

5
私が得たclang私はこれをしようとしたときにOSXマーベリックスにエラーが発生しますが、私はこの答えはそれを手伝ってくれましたことを発見:stackoverflow.com/a/22322645/16959
ジェイソンSperske

34
これは有効で有用な答えですが、実際には質問には答えません。PILの依存関係を埋める必要がある可能性がある古いプロジェクトをリハビリする過程で、壊れる次のことを見つけるために、実際に依存関係を取得する必要があります(特定のバージョンを取得する必要がある場合もあります)誰かがハックを作成したこと)。
Namey

3
@Namey既存のPILコードをPillowに移植するのは簡単です。PILを枕に移植します。PillowはPILコードに基づいており、PILのより優れた、モダンでよりフレンドリーなバージョンに進化しました。
GiriB

7
@GiriB更新ありがとうございます。私の主なポイントは、PILが1つである可能性のある20の古代の依存関係があるレガシー製品コードで作業を開始することがよくあり、製品コードを修正するために何かをデバッグする必要があるということでした。その場合、本番環境で発生している1行のエラーのデバッグを開始するためだけに、開発ビルドの最大10個の異なるライブラリに接続されたコードのポートを作成する必要はほとんどありません。これが明確になることを願っています。
Namey

を使用するライブラリを使用しようとしていますimport Image。枕に画像を提供させる方法はありますか?
AnnanFay 2017年

60

これは私にとってはうまくいきます:

apt-get install python-dev
apt-get install libjpeg-dev
apt-get install libjpeg8-dev
apt-get install libpng3
apt-get install libfreetype6-dev
ln -s /usr/lib/i386-linux-gnu/libfreetype.so /usr/lib
ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib
ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib

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

9
64ビットプラットフォームでは、リンクされたパスは異なる必要があります-たとえば/usr/lib/x86_64-linux-gnu/libfreetype.so。よりアーキテクチャに依存しないソリューションについては、次のようなリンクを作成します# ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/
Mark Chackerian '12

イメージングのヘッダーでも常に同じ問題:_imagingft.c:73:31:致命的なエラー:freetype / fterrors.h:そのようなファイルやディレクトリはありません#include <freetype / fterrors.h>したがって、python-imaging throught pipをインストールする必要があります
c24b 2014年

ここで言及されているようなfreetypeヘッダーの問題は常に[ askubuntu.com/questions/507459/…?解決策:cd / usr / include ln -s freetype2 freetype
c24b

1
ubuntu 14.04で1シンボリックリンクがさらに必要です sudo ln -s /usr/include/freetype2 /usr/local/include/freetype
Akasha

1
その秘密は--allow-unverified PIL --allow-all-external
eusoubrasileiroでした。

54

apt installを使用するのは非常に簡単で、このコマンドを使用して実行します

sudo apt-get install python-PIL

または

sudo pip install pillow

または

sudo easy_install pillow

2
ipythonノートブックサーバーを実行している場合は、忘れずに再起動してください。
shousper

sudo pip install pillowがうまくいきました。sudo apt-get install python-PILはしませんでした。
Yu Shen、

1
大文字と小文字が区別されるので、sudo apt-get install python-PIL => Failed(no package found)sudo apt-get install python-pil => Worked
Clarkey252

35

Mac OS Xでは、次のコマンドを使用します。

sudo pip install https://effbot.org/media/downloads/Imaging-1.1.7.tar.gz

debian jessyでも動作しました!、事前にpython-devをインストールする必要があるだけです:)
Agey

1
私は最初のlibjpegをインストールする必要がありました: brew install libjpeg
ピエール・F

最後に、実際のソリューション。私のMacにはapt-get:pがないので、とにかくvirtualenvにインストールしたい。
sudo

sudo pip install Pillowを使用-以下のように。
johndpope 2017年


26

私はここでの議論から答えを得ました:

私は試した

pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL

そしてそれは働いた。


8
これを使用することを検討してください:pip install --no-index -f http://effbot.org/downloads/ -U PIL --trusted-host effbot.orgそれはパッケージでとに記載されているURLであるので、私はこの1つを使用した理由はあるpypi.python.org/pypi/PIL
トムMyddeltyn

1
HTTPではなくHTTPSを使用するように警告が表示されました。URLを変更した後、うまくいきました。
AnnanFay 2017年

私はそれがX11 / Xlib.hを見つけることができませんコンパイラエラー得た以外、ほとんど働いたこと@TomMyddeltyn
アンコモン

@Uncommonどこに問題があるのか​​よくわかりません。
Tom Myddeltyn 2017

21

インストール

pip install Pillow

次に、次のようにファイルにインポートします。

from PIL import Image

私は窓を使っています。それは私のために働いています。

Pillowは、Python Imaging Libraryの機能的なドロップイン代替品です。Pillowで既存のPIL互換コードを実行するには、グローバル名前空間ではなくPIL名前空間からイメージングモジュールをインポートするようにコードを変更する必要があります。

つまり、変更:

import Image

に:

from PIL import Image

https://pypi.org/project/Pillow/2.2.1/


ありがとう!「PIL」という名前を読んだときfrom PIL import Image、このライブラリの名前が「Pillow」であるとは決して想像できませんでした。私もWindowsを使用していて、あなたの解決策がうまくいきました。
Marcos Buarque

Pillowは、Python Imaging Libraryの機能的なドロップイン代替品です。Pillowで既存のPIL互換コードを実行するには、グローバル名前空間ではなくPIL名前空間からイメージングモジュールをインポートするようにコードを変更する必要があります。IEの変更:import Imagefrom PIL import Image pypi.org/project/Pillow/2.2.1
チャンダン・シャルマ

追加の背景情報をありがとうございます!
Marcos Buarque

12

あなたがMacを使っていると思います。Mac OS X 10.7.2 LionにPILをインストールする方法を参照してください

[homebrew] []を使用する場合は、だけでPILをインストールできますbrew install pil。次に、インストールディレクトリ($(brew --prefix)/lib/python2.7/site-packages)をPYTHONPATHに追加するか、PILディレクトリ自体の場所をPIL.pth、任意のサイトパッケージディレクトリ内のファイルと呼ばれるファイルに、内容とともに追加する必要があります。

/usr/local/lib/python2.7/site-packages/PIL

(と仮定するbrew --prefix/usr/local)。

または、ソースからダウンロード/ビルド/インストールすることもできます。

# download
curl -O -L http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz
# extract
tar -xzf Imaging-1.1.7.tar.gz
cd Imaging-1.1.7
# build and install
python setup.py build
sudo python setup.py install
# or install it for just you without requiring admin permissions:
# python setup.py install --user

私は今上記を実行し(OSX 10.7.2、XCode 4.2.1およびSystem Python 2.7.1を使用)、問題なくビルドされましたが、私の環境にデフォルトでないものがある可能性があります。

[homebrew]:http : //mxcl.github.com/homebrew/ "Homebrew"


これはをインストールする方法を説明pilしていますがpip、OPが最初に試したように経由では実行されません。brew最近のWebの豊富な使用は最適とは言えません。brew何をしたいかに応じて、かなりのオーバーヘッドをインストールします。そのためpip、おそらくpythonモジュールの場合は依然として最良の選択です。
mknaf

11

最近では、誰もがPILよりもフレンドリーなPILフォークであるPillowを使用しています。

の代わりに: sudo pip install pil

行う: sudo pip install pillow

$ sudo apt-get install python-imaging
$ sudo -H pip install pillow

私はこれまでしないことをお勧めしsudo pip install ...ます。その結果、システムのPythonのインストールが壊れ、システムのアプリケーションに影響を与える可能性があります。Anaconda仮想環境envv、またはDocker を使用してみてください。
n1k31t4

11

Ubuntuの場合、PILは機能しなくなります。私はいつも得ます:

PILに一致する分布が見つかりません

したがって、python-imagingをインストールします。

sudo apt-get install python-imaging

6

同じ問題が発生していますが、をインストールすると解決しますpython-dev

PILをインストールする前に、次のコマンドを実行します。

sudo apt-get install python-dev

次にPILをインストールします。

pip install PIL

10
これはUbuntu 14では機能しませんでした。Python-devを最初にインストールしたかどうかに関係なく、pip install pil結果はNo distributions at all found for PILになります。
aliteralmind 2014

5

インストール中にエラーが発生しました。誰かがこれも持っている場合に備えて。それにもかかわらず、私はすでに管理者ユーザーの下に座っていましたが、rootでした。

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/PIL'

Storing debug log for failure in /Users/wzbozon/Library/Logs/pip.log

「sudo」を追加すると問題が解決し、sudoが機能しました。

~/Documents/mv-server: $ sudo pip install Pillow


5

私はすべての答えを試しましたが、失敗しました。公式サイトから直接ソースを入手して、インストール成功をビルドします。

  1. サイトにアクセスhttp://www.pythonware.com/products/pil/#pil117
  2. 「Python Imaging Library 1.1.7 Source Kit」をクリックしてソースをダウンロードします
  3. tar xf Imaging-1.1.7.tar.gz
  4. cd Imaging-1.1.7
  5. sudo python setup.py install


3

これを試して:

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

2
この答えは正しいかもしれませんが、説明を追加してください。基になるロジックを提供することは、コードを提供することよりも重要です。OPや他のリーダーがこの問題や同様の問題を修正するのに役立ちます。
CodeMouse92

このコマンドは私のためにタイムアウトしたことに注意してください。とにかく、それは数週間で廃止されるでしょう。sudo pip install --allow-external --allow-unverified PIL PIL今のところうまくいくかもしれません。
例による統計の学習2015

3
--allow-external--allow-unverified非推奨です。pip install pillow正解です。
Dorian

1
私が投稿した答えはstderrから提案されました。したがって、私の答えは古くなりましたが、私が書いたときではありませんでした。また、JasonMc92へのメッセージが表示されたことをお詫び申し上げます(これは削除されています)。私の口調はずれていましたが、私の感情は残っています。フロントページをトローリングし、「基礎となるロジックの付与」に関するメモをコピー/貼り付けることには不快な点があります。おそらくあなたはバッジ追跡をしていると思いますが、私はそれでいいと思いますが、一貫性を保つために、根底にある論理に失敗するこの質問に対する他のすべての同様の答えにコメントを残してください。
alfonso 2016年


3
  • まず、これsudo apt-get build-dep python-imagingを実行する必要があります。これにより、必要なすべての依存関係が得られます

  • 次に実行します sudo apt-get update && sudo apt-get -y upgrade

  • に続く sudo apt-get install python-pip

  • そして最後にピルをインストールします pip install pillow


2

を使用する前に、パッケージマネージャで検索してくださいpip。Arch linuxではPILを取得できますpacman -S python2-pillow


0

と呼ばれる別のPythonパッケージツールがありますconda。純粋なPython以外のC ++およびその他のバインディングをインストールする必要があるライブラリがある場合、pidaよりCondaが推奨されます(私はそう思います)。Condaのインストールにはpipも含まれているため、引き続きpipを使用できますが、condaの利点も得られます。

Condaは、デフォルトでIPython、pil、および他の多くのライブラリもインストールします。気に入ると思います。

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