在Ubuntu virtualenv上的pip install Pillow错误

我有一个ec2实例,并在我的virtualenv最初安装枕头2.0。 不知何故,当我试图升级到枕头2.5,它失败了以下消息。 即使在重新安装之前,我完全卸下枕头,错误也是一样的。 (所以现在我没有在我的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 

我不知道这是否相关,但是有很多gcc: error: build/temp.linux-x86_64-2.7/_imaging.o: No such file or directory日志中gcc: error: build/temp.linux-x86_64-2.7/_imaging.o: No such file or directory错误。 而且有很多gcc: error: unrecognized option '-Qunused-arguments'

我可以用我的root权限安装Pillow 2.5,但是不会在我的virtualenv中安装。

 sudo pip install Pillow # this works but wrong directory pip install -I Pillow==2.0 # gives the same error and would not install 

版本

PIP:1.5.4

Linux:Ubuntu 12.04.4 LTS(所有软件包升级)

谢谢

我的情况有点不同,因为我的Ubuntu 15.04也缺lesslibjpeg,所以安装每次都失败。 显然有时枕头找不到所需的库,解决这个问题的最简单方法是安装dev版本并将其链接到用户库。

 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 

部分解决scheme在这里find

请注意,对于我自己和其他人来说,要在基本操作系统Luna(Ubuntu 12.04)上编译,需要根据OP上的注释为您的virtualenv python版本安装所需的python头文件。 我正在使用默认的Python版本和testing3.4(通过deadsnakes ppa)所以对我来说这是:

 sudo apt-get install python-dev sudo apt-get install python3.4-dev 

但! 我仍然得到同样的错误! 我检查了我的.bashrc每个OP的答案,我没有任何匹配的出口。 然后它打我,我已经解决了一段时间,并从其他地方的答案我已经尝试设置这些,并没有重新启动bash。

所以不要忘记重新启动(或重新来源我想)bash,以确保您的出口匹配.bashrc!

编辑:这是一个评论有点长,但不是一个真正的答案。 如有必要将进行修改。

我也有同样的头痛…

解决scheme是在阅读文档后发现的,说:

从3.0.0版开始枕头需要libjpeg …

所以试试上一个:

 pip install pillow==2.9.0 

(它适用于python 2.6及以上)

祝你好运!

新版本3.0不起作用,我们需要安装适用于Django的2.9.0版本。 在虚拟环境中执行此操作:

 pip install Pillow==2.9.0 

这也应该在Ubuntu,我使用基本的操作系统。

最后我find了这个头痛的答案!

原来我的.bashrc有两个标志设置:

 export CFLAGS=-Qunused-arguments export CPPFLAGS=-Qunused-arguments 

.bashrc是从我的Macbook Pro中复制的,这两个标志是XCODE的一个工具。 看来他们会在Linux中破解。

删除这两个标志后, pip install Pillow按预期工作。

感谢大家的帮助。

Ubuntu 16.04 virtualenv

 pip install pillow==2.9.0 

您可能需要安装python开发头文件。

 sudo apt-get build-dep python-imaging 

在Fedora上,安装rpm-build帮我解决了这个问题。 确保你已经安装了python-devellibjpeg-devel

在我的CentOS机器上,我不得不:

 yum install python-devel