在ubuntu 14.04上安装枕头


11

我为枕头疯狂。我已经在这里问了,没有解决:

Pillow软件包的Python Django Mezzanine安装失败

我有Ubuntu 14.04和python 2.7。

使用pip或从github安装枕头我有此错误:

x86_64-linux-gnu-gcc: error: build/temp.linux-x86_64-2.7/_imaging.o: File o directory non esistente
x86_64-linux-gnu-gcc: error: build/temp.linux-x86_64-2.7/decode.o: File o directory non esistente
x86_64-linux-gnu-gcc: error: build/temp.linux-x86_64-2.7/encode.o: File o directory non esistente
x86_64-linux-gnu-gcc: error: build/temp.linux-x86_64-2.7/map.o: File o directory non esistente
x86_64-linux-gnu-gcc: error: build/temp.linux-x86_64-2.7/display.o: File o directory non esistente
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ctXrZt-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/Pillow
Traceback (most recent call last):
 File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
 File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 185, in main
return command.main(cmd_args)
 File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 161, in main
text = '\n'.join(complete_log)
 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 28: ordinal not in range(128)

当然,我也遵循以下步骤:

在Ubuntu 14.04.1 LTS中安装PIL

也许有一些图书馆冲突。我尝试删除所有内容并重新安装,但是我始终遇到相同的错误。

有什么建议吗?


您确实使用sudo安装了枕头,对吗?
don.joey 2014年

当然我也使用sudo。
franco_b 2014年

您忘了提到您正在使用virtualenv。停用您的virtualenv。用宽安装枕头系统sudo apt-get install python-pil。重新激活您的virtualenv。运行sudo pip install pillow
don.joey 2014年

我已经安装了最新版本的python-pil,不管怎么说,我忘了说我会使用virtualenv
安装

Answers:


18

首先,您需要python-dev软件包,因为Pillow需要定义编译头。

sudo apt-get install python-dev

在Ubuntu 14.04上,您需要一些额外的软件包来使枕头工作。使用命令安装所有它们:

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

这将适用于python 2.x和python3.x。您可能不需要所有这些,但是至少应该安装libjpeg8-devzlib1g-dev获得JPEG和PNG支持。

如果您使用的是Ubuntu 12.04,请使用以下命令。

sudo apt-get install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev python-tk

详细说明可在官方枕头文件中找到。

安装—枕头(PIL货叉)2.6.1文档


1
对于python 3运行$ sudo apt-get install python3-dev
Michael Radionov

1
sudo apt-get install python-dev python-setuptools

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

2
请扩大您的答案。
TheWanderer,2015年

1
欢迎来到Ask Ubuntu!我建议编辑此答案以将其扩展为有关如何执行此操作的特定详细信息。(另请参阅“我如何编写一个好的答案?”,以获取有关在Ask Ask Ubuntu上认为最有价值的答案的一般建议。)
David Foerster,2015年

这实际上是最正确的答案。我不完全理解为什么投票失败,然后有人用新的答案替换了它-应该只是在修改后加上了更多的解释,不是吗?
即将

这在debian 8上对我有用,但是我必须从列表中删除libjpeg8-dev。
Programster

0

尝试安装此开发依赖项:

sudo apt-get install python-dev python-setuptools

1
尽管从技术上讲这可以回答问题,但是通常最好包括一些解释,而不只是原始命令。
RPiAwesomeness

0

除了上述安装,我在安装Pillow时仍然遇到上述错误。

要解决该错误,请导航至/ usr / include:

cd /usr/include

创建一个符号链接,指向freetype2-目录:

ln -s freetype2 freetype
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.