Installieren Sie PIL / Pillow via Pip in Debian-Tests (Jessie)

19

Wenn ich beim Debian-Testen (Jessie) versuche, PIL oder Pillow (Python-Imaging-Bibliotheken) in einer virtualenvVia zu installieren, piperhalte ich den folgenden Fehler:

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

Ich habe alle Abhängigkeiten für Pillow installiert, basierend auf meinen Erfahrungen mit Wheezy, aber beim Testen sieht es anscheinend anders aus.

Irgendwelche Vorschläge?

BEARBEITEN

Tatsächlich habe ich ein anderes Problem mit libc6 entdeckt. Die Version, die ich hatte, war von experimentellem. Nachdem ich es auf die Testversion heruntergestuft habe, habe ich alle Abhängigkeiten neu installiert, aber jetzt erhalte ich einen anderen Fehler:

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

Es scheint, als libc6ob die experimentelle Version der Dinge durcheinander ist, aber ich kann nicht herausfinden, was los ist. Aptitude zeigt keine unerfüllten Abhängigkeiten und aptitude install -funternimmt nichts.

Auch wenn die Linux-Header tatsächlich relevant sind, sind die, die ich installiert habe,:

  • 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
alxs
quelle
Haben Sie die Kernel-Header installiert (der Fehler scheint irgendwie damit zu tun zu haben)?
Braiam
1
Linux-Header sind irrelevant, es fehlen Python-Header.
Dennis Kaarsemaker

Antworten:

28

In Ubuntu 14.04 versuchen Sie:

sudo ln -s /usr/include/freetype2 /usr/local/include/freetype
mrudult
quelle
23

Sie benötigen die Python-Entwicklungs-Header und möglicherweise andere Entwicklungspakete. Der einfachste Weg, sie zu bekommen, ist:

sudo apt-get build-dep python-imaging
Dennis Kaarsemaker
quelle
Hab das schon probiert. Tatsächlich kann ich normalerweise python-imagingsystemweit mit installieren aptitude, obwohl ich nicht versucht habe, es tatsächlich zu verwenden.
alxs
interessant. Was ist die Ausgabe dieses Befehls?
Dennis Kaarsemaker
Dies funktionierte für mich in Ubuntu 14.04
Matt Parrilla
3

Nach der Installation der Entwicklungsversion von Pillow wurde auch das zweite Problem behoben. Möglicherweise hängt es mit diesem Problem zusammen .

Zusammenfassend lautete die Lösung:

  1. Installieren Sie Abhängigkeiten, wie Dennis sagte, was in meinem Fall auch das Downgrade der experimentalVersion von libc6 mit einschließt aptitude remove libc6, wodurch die Option auf die Version des Repos gewährt wird DOWNGRADE.

  2. Installieren der Pillow-Kofferraumversion mit pip install git+git://github.com/python-imaging/Pillow.git

alxs
quelle
3

Ich benutze Debian 7-Tests und bei mir hat es so funktioniert:

  1. Installieren der Abhängigkeiten wie von Dennis gesagt:

    $ sudo apt-get build-dep python-imaging
  2. Mache einen symbolischen Link wie von mrudult vorgeschlagen:

    $ sudo ln -s -T /usr/include/freetype2/ /usr/include/freetype
  3. Installieren Sie Pillow wie gewohnt:

    $ pip install Pillow
Throoze
quelle
1

Bei einer neuen Ubuntu 14.04-Installation auf DigitalOcean konnte ich dieses Problem durch einfaches Ausführen lösen

sudo apt-get install python-dev

Führen Sie anschließend den Befehl pip install in Python Venv erneut aus

pip install Pillow
danske
quelle