Debianテスト(Jessie)で、virtualenv
を介してpip
にPILまたはPillow(python Imaging libs)をインストールしようとすると、次のエラーが発生します。
running Egg_info
writing Pillow.Egg-info/PKG-INFO
writing top-level names to Pillow.Egg-info/top_level.txt
writing dependency_links to Pillow.Egg-info/dependency_links.txt
warning: manifest_maker: standard file '-c' not found
reading manifest file 'Pillow.Egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'Pillow.Egg-info/SOURCES.txt'
running build_ext
building 'PIL._imaging' extension
creating build/temp.linux-x86_64-2.7/libImaging
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -IlibImaging -I/usr/local/include -I/usr/include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -c _imaging.c -o build/temp.linux-x86_64-2.7/_imaging.o
_imaging.c:76:20: fatal error: Python.h: No such file or directory
#include "Python.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
私はWheezyでの経験に基づいて、Pillowのすべての依存関係をインストールしましたが、テストでは多少異なるようです。
助言がありますか?
[〜#〜]編集[〜#〜]
実際、私はlibc6に別の問題を発見しました。私が持っていたバージョンは実験的なものでした。それをテスト版にダウングレードした後、すべての依存関係を再インストールしましたが、今度は別のエラーが発生します。
building 'PIL._imagingft' extension
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/freetype2 -IlibImaging -I/usr/include/tcl8.5 -I/usr/local/include -I/usr/include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -c _imagingft.c -o build/temp.linux-x86_64-2.7/_imagingft.o
_imagingft.c:62:31: fatal error: freetype/fterrors.h: No such file or directory
#include <freetype/fterrors.h>
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
libc6
の実験的なバージョンは混乱を招いたようですが、何が問題なのか理解できません。 Aptitudeは満たされていない依存関係を表示せず、aptitude install -f
は何もしません。
また、実際にlinux-headersが関連している場合、私がインストールしたものは次のとおりです。
linux-headers-3.11-2-all
linux-headers-3.11-2-all-AMD64
linux-headers-3.11-2-AMD64
linux-headers-3.11-2-common
linux-headers-3.2.0-4-AMD64
linux-headers-3.2.0-4-common
linux-headers-AMD64
Pillowの開発バージョンをインストールした後、2番目の問題も解決されました。これは issue に関連している可能性があります。
要約すると、解決策は次のとおりでした。
Dennisが言ったように依存関係をインストールします。私の場合、libc6のexperimental
バージョンをaptitude remove libc6
にダウングレードして、リポジトリのバージョンにDOWNGRADE
するオプションを付与しました。
pip install git+git://github.com/python-imaging/Pillow.git
を使用した枕のトランクバージョンのインストール
Ubuntu 14.04で試してください:
Sudo ln -s /usr/include/freetype2 /usr/local/include/freetype
python開発ヘッダー、およびおそらく他の開発パッケージが必要です。それらを取得する最も簡単な方法は次のとおりです:
Sudo apt-get build-dep python-imaging
私はDebian 7のテストを使用しており、私にとってはこれはうまくいきました:
Dennisが言った依存関係のインストール:
$ Sudo apt-get build-dep python-imaging
Mrudultの提案に従ってシンボリックリンクを作成します。
$ Sudo ln -s -T /usr/include/freetype2/ /usr/include/freetype
通常どおり枕をインストールします。
$ pip install Pillow
DigitalOceanにUbuntu 14.04を新たにインストールすると、次のコマンドを実行するだけでこの問題を解決できました。
Sudo apt-get install python-dev
python venv内でpip installコマンドを再実行します
pip install Pillow