目前,我正在将PIL安装到我的虚拟env中,如下所示:

pip install -E . -r ./releases/%s/requirements.txt

withe sumperion.txt包含:

pil

我可以上传PNG图像,但目前不能上传JPEG图像。通过在网上阅读,似乎我可能需要libjpeg解码器吗?我是否错误地安装了PIL?使用libjpeg在虚拟env中安装django的PIL的正确方法是什么?

有帮助吗?

解决方案

您应该安装其他人推荐的库,但最重要的是,您应该告诉PIL在哪里可以找到它们。编辑setup.py,这样

    JPEG_ROOT = None 

变成

JPEG_ROOT = libinclude("/usr/lib") 

我发现最简单的方法是使用PIP下载源,但没有安装:

 pip install --no-install PIL

编辑设置(在虚拟环境的构建目录内)和安装

 pip install PIL

您可以在我的 博客

你也可以尝试 枕头 这似乎在小麻烦的情况下做得很好(PIP安装枕头)

其他提示

在Ubuntu精确的情况下,PIL甚至一旦安装了JPEG库文件。解决此问题的最简单方法是在安装JPEG开发软件包后建立符号链接。因此,我需要一个额外的步骤:

pip uninstall PIL
sudo apt-get install libjpeg8-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
pip install PIL

对于Ubuntu 11.04,最终对我有用的是:

pip uninstall PIL
sudo apt-get install libjpeg8-dev
pip install PIL

Python成像库(PIL)似乎对JPEG库的版本和位置确实很挑剔。而且由于PIL用C编写并编译,您需要 发展 除运行时版本外,库的版本。

这种情况是如此糟糕,社区分配了PIL来创建一个柔和的版本:枕头: http://pypi.python.org/pypi/pillow#why-a-fork

在OSX上,我使用以下二进制文件获得LIBPNG和LIBJPEG同时安装了系统:

osx的libpng&libjpeg

因为我已经安装了PIL(通过Virtualenv上的PIP),所以我跑了:

pip uninstall PIL
pip install PIL --upgrade

这解决了 decoder JPEG not available 我的错误。

您必须安装库:

sudo aptitude install libjpeg62 libjpeg62-dev zlib1g-dev

如果PIP引起错误,请尝试easy_install pil

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top