Podczas testowania Debiana (Jessie), kiedy próbuję zainstalować PIL lub Pillow (biblioteki obrazkowe Pythona) za virtualenv
pośrednictwem, pojawia pip
się następujący błąd:
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
Zainstalowałem wszystkie zależności dla Pillow, oparte na moim doświadczeniu z Wheezy, ale wygląda na to, że coś jest innego w testowaniu.
Jakieś sugestie?
EDYTOWAĆ
W rzeczywistości odkryłem inny problem z libc6. Wersja, którą miałem, była z eksperymentu. Po obniżeniu wersji do wersji testowej ponownie zainstalowałem wszystkie zależności, ale teraz pojawia się inny błąd:
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
Wygląda na to, że eksperymentalna wersja libc6
zawiodła, ale nie mogę zrozumieć, co jest nie tak. Aptitude nie wykazuje żadnych niespełnionych zależności i aptitude install -f
nic nie robi.
Ponadto, jeśli rzeczywiście nagłówki linux są odpowiednie, to te, które zainstalowałem, to:
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
Odpowiedzi:
W Ubuntu 14.04 spróbuj:
źródło
Potrzebujesz nagłówków programistycznych Python i ewentualnie innych pakietów programistycznych. Najłatwiejszym sposobem na ich zdobycie jest:
źródło
python-imaging
systemieaptitude
, chociaż nie próbowałem go używać.Po zainstalowaniu wersji rozwojowej Pillow rozwiązano również drugi problem. Może to być związane z tym problemem .
Podsumowując, rozwiązaniem było:
Zainstaluj zależności, jak powiedział Dennis, co w moim przypadku obejmowało również obniżenie
experimental
wersji libc6aptitude remove libc6
, co dało opcję doDOWNGRADE
wersji repo.Instalowanie wersji bagażnika poduszki z
pip install git+git://github.com/python-imaging/Pillow.git
źródło
Używam testów Debiana 7 i dla mnie to zadziałało:
Instalowanie zależności, jak powiedział Dennis:
Tworzenie dowiązania symbolicznego zgodnie z sugestią mrudult:
Zainstaluj poduszkę jak zwykle:
źródło
W nowej instalacji Ubuntu 14.04 na DigitalOcean mogłem rozwiązać ten problem, po prostu uruchamiając
a następnie ponownie uruchom polecenie pip install w python venv
źródło