web-dev-qa-db-ja.com

Debianテストでピップ経由でPIL / Pillowをインストールする(Jessie)

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
19
alxs

Pillowの開発バージョンをインストールした後、2番目の問題も解決されました。これは issue に関連している可能性があります。

要約すると、解決策は次のとおりでした。

  1. Dennisが言ったように依存関係をインストールします。私の場合、libc6のexperimentalバージョンをaptitude remove libc6にダウングレードして、リポジトリのバージョンにDOWNGRADEするオプションを付与しました。

  2. pip install git+git://github.com/python-imaging/Pillow.gitを使用した枕のトランクバージョンのインストール

3
alxs

Ubuntu 14.04で試してください:

Sudo ln -s /usr/include/freetype2 /usr/local/include/freetype
28
mrudult

python開発ヘッダー、およびおそらく他の開発パッケージが必要です。それらを取得する最も簡単な方法は次のとおりです:

Sudo apt-get build-dep python-imaging
23

私はDebian 7のテストを使用しており、私にとってはこれはうまくいきました:

  1. Dennisが言った依存関係のインストール:

    $ Sudo apt-get build-dep python-imaging
    
  2. Mrudultの提案に従ってシンボリックリンクを作成します。

    $ Sudo ln -s -T /usr/include/freetype2/ /usr/include/freetype
    
  3. 通常どおり枕をインストールします。

    $ pip install Pillow
    
3
Throoze

DigitalOceanにUbuntu 14.04を新たにインストールすると、次のコマンドを実行するだけでこの問題を解決できました。

Sudo apt-get install python-dev

python venv内でpip installコマンドを再実行します

pip install Pillow
1
danske