J'ai une instance ec2 et Pillow 2.0 était initialement installé dans mon virtualenv. D'une manière ou d'une autre, lorsque j'ai essayé de le mettre à niveau vers Pillow 2.5, le message suivant a échoué. L'erreur est la même, même après que j'ai complètement supprimé Pillow avant de le réinstaller. (Alors maintenant, je n'ai pas du tout d'oreiller dans mon virtualenv)
$ pip install Pillow
....
....
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Qunused-arguments -Qunused-arguments -fPIC -DHAVE_LIBJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/home/andycheng/realprice/env/build/pillow/libImaging -I/home/andycheng/realprice/env/include -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 libImaging/RawDecode.c -o build/temp.linux-x86_64-2.7/libImaging/RawDecode.o
gcc: error: unrecognized option ‘-Qunused-arguments’
gcc: error: unrecognized option ‘-Qunused-arguments’
....
....
gcc: error: build/temp.linux-x86_64-2.7/libImaging/XbmEncode.o: No such file or directory
gcc: error: build/temp.linux-x86_64-2.7/libImaging/ZipDecode.o: No such file or directory
gcc: error: build/temp.linux-x86_64-2.7/libImaging/ZipEncode.o: No such file or directory
gcc: error: build/temp.linux-x86_64-2.7/libImaging/TiffDecode.o: No such file or directory
gcc: error: build/temp.linux-x86_64-2.7/libImaging/Incremental.o: No such file or directory
gcc: error: build/temp.linux-x86_64-2.7/libImaging/Jpeg2KDecode.o: No such file or directory
gcc: error: build/temp.linux-x86_64-2.7/libImaging/Jpeg2KEncode.o: No such file or directory
gcc: error: unrecognized option ‘-Qunused-arguments’
gcc: error: unrecognized option ‘-Qunused-arguments’
error: command 'gcc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /home/andycheng/realprice/env/bin/python -c "import setuptools, tokenize;__file__='/home/andycheng/realprice/env/build/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-U8jA_X-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/andycheng/realprice/env/include/site/python2.7 failed with error code 1 in /home/andycheng/realprice/env/build/Pillow
Je ne sais pas si c'est lié mais il y a beaucoup de gcc: error: build/temp.linux-x86_64-2.7/_imaging.o: No such file or directory
erreurs dans le journal. Et il y a beaucoup de gcc: error: unrecognized option ‘-Qunused-arguments’
aussi.
Je peux installer Pillow 2.5 avec mon accès root cependant, mais il ne sera pas installé dans mon virtualenv.
Sudo pip install Pillow # this works but wrong directory
pip install -I Pillow==2.0 # gives the same error and would not install
Les versions
PIP: 1.5.4
Linux: Ubuntu 12.04.4 LTS (tous les paquets mis à jour)
Merci
Enfin, j'ai trouvé la réponse à ce mal de tête!
Il s'avère que j'ai deux paramètres de drapeau dans mon .bashrc
:
export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments
Le fichier .bashrc a été copié à partir de mon Macbook Pro et ces deux indicateurs ont été nécessaires pour contourner XCODE. Il semble qu'ils vont casser sous Linux.
Après avoir retiré ces deux drapeaux, pip install Pillow
fonctionne comme prévu.
Merci à tous pour l'aide.
Mon cas était légèrement différent car mon Ubuntu 15.04 était également absent de libjpeg, donc l'installation échouait à chaque fois. Apparemment, parfois, pillow ne peut pas trouver la bibliothèque requise et le moyen le plus simple pour y remédier consiste à installer la version dev et à la lier aux bibliothèques utilisateur. Edit: fonctionne également dans Ubuntu 16.04
Sudo apt-get install python-dev
Sudo apt-get install libjpeg8-dev
Sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
pip install pillow
Solution partielle trouvée ici
Remarque pour moi et pour tous les autres, pour compiler ceci sur un système d'exploitation élémentaire Luna (Ubuntu 12.04) nécessite l'installation des en-têtes python dont vous avez besoin pour votre virtualenv python version selon les commentaires sur l'OP. J'utilise la version par défaut python version et test 3.4 (via deadsnakes ppa)), donc pour moi, c'était:
Sudo apt-get install python-dev
Sudo apt-get install python3.4-dev
MAIS! J'avais toujours la même erreur! J'ai vérifié mon .bashrc par la réponse de PO, je n'ai eu aucune exportation correspondante. Puis, ça m’a frappé, je faisais du dépannage depuis un moment et d’une réponse quelque part, j’avais essayé de les régler et je n’avais pas redémarré bash.
Donc, n'oubliez pas de redémarrer (ou de re-source je suppose) bash pour vous assurer que vos exportations correspondent à .bashrc!
edit: C'est un peu long pour un commentaire mais pas vraiment une réponse. Modifiera si nécessaire.
J'ai eu le même mal de tête aussi ...
La solution a été trouvée après la lecture de la documentation:
A partir de la version 3.0.0, Pillow a besoin de libjpeg ...
Alors essayez le précédent:
pip install pillow==2.9.0
(Cela fonctionne pour python 2.6 et plus)
Bonne chance!
La nouvelle version 3.0 ne fonctionne pas, nous devons installer la version 2.9.0 qui fonctionne avec Django. Faites ceci en étant dans l'environnement virtuel:
pip install Pillow==2.9.0
Cela devrait fonctionner aussi dans Ubuntu, j'utilise Elementary OS.
Ubuntu 16.04 virtualenv
pip install pillow==2.9.0
Vous devrez peut-être installer les en-têtes de développement python.
Sudo apt-get install build-dep python-imaging
Sur Fedora, installez rpm-build
résolu le problème pour moi. Assurez-vous que vous avez python-devel
et libjpeg-devel
installé aussi.
Sur ma machine CentOS, je devais:
yum install python-devel