Instal PIL / Bantal melalui pip dalam pengujian Debian (Jessie)


19

Pada pengujian Debian (Jessie), ketika saya mencoba menginstal PIL atau Pillow (python imaging libs) virtualenvmelalui pipsaya mendapatkan kesalahan berikut:

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

Saya telah menginstal semua dependensi untuk Pillow, berdasarkan pengalaman saya dengan Wheezy, tetapi sepertinya ada sesuatu yang berbeda dengan pengujian.

Ada saran?

EDIT

Sebenarnya saya menemukan masalah lain dengan libc6. Versi yang saya miliki adalah dari eksperimental. Setelah menurunkannya ke versi pengujian, saya menginstal ulang semua dependensi tetapi sekarang saya mendapatkan kesalahan yang berbeda:

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

Tampaknya versi eksperimental dari libc6hal-hal yang kacau, tetapi saya tidak tahu apa yang salah. Aptitude tidak menunjukkan dependensi yang aptitude install -ftidak terpenuhi dan tidak melakukan apa pun.

Juga, jika memang linux-header relevan, yang saya instal adalah:

  • 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

Apakah Anda menginstal header kernel (kesalahan tampaknya terkait, entah bagaimana).
Braiam

1
Header Linux tidak relevan, itu header python yang hilang.
Dennis Kaarsemaker

Jawaban:


28

Di Ubuntu 14.04 coba:

sudo ln -s /usr/include/freetype2 /usr/local/include/freetype

23

Anda memerlukan header pengembangan python, dan mungkin paket pengembangan lainnya. Cara termudah untuk mendapatkannya adalah:

sudo apt-get build-dep python-imaging

Sudah mencobanya. Sebenarnya saya biasanya dapat menginstal seluruh python-imagingsistem dengan aptitude, meskipun saya tidak mencoba untuk benar-benar menggunakannya.
alxs

menarik. Apa output dari perintah itu?
Dennis Kaarsemaker

ini bekerja untuk saya di Ubuntu 14.04
Matt Parrilla

3

Setelah menginstal versi pengembangan Bantal, masalah kedua juga terpecahkan. Mungkin terkait dengan masalah ini .

Singkatnya, solusinya adalah:

  1. Instal dependensi seperti yang dikatakan Dennis, yang dalam kasus saya juga termasuk menurunkan experimentalversi libc6 aptitude remove libc6, yang memberikan opsi untuk DOWNGRADEitu ke versi repo.

  2. Menginstal versi bagasi Bantal dengan pip install git+git://github.com/python-imaging/Pillow.git


3

Saya menggunakan pengujian Debian 7, dan bagi saya itu berhasil melakukan ini:

  1. Menginstal dependensi seperti yang dikatakan oleh Dennis:

    $ sudo apt-get build-dep python-imaging
  2. Membuat tautan simbolis seperti yang disarankan oleh mrudult:

    $ sudo ln -s -T /usr/include/freetype2/ /usr/include/freetype
  3. Pasang Bantal seperti biasa:

    $ pip install Pillow

1

Pada instalasi Ubuntu 14.04 baru di DigitalOcean, saya bisa menyelesaikan masalah ini dengan hanya menjalankan

sudo apt-get install python-dev

dan kemudian menjalankan kembali perintah instal pip di dalam python venv

pip install Pillow
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.