目前我正在将PIL安装到我的虚拟环境中,如下所示:
pip install -E . -r ./releases/%s/requirements.txt
其中requirements.txt包含:
pil
我目前可以上传png图片但不能上传jpeg图片。从网上阅读看来我可能需要libjpeg解码器?我安装pil不正确吗?使用libjpeg在虚拟环境中为django安装pil的正确方法是什么?
答案 0 :(得分:14)
您应该安装其他人推荐的库,但最重要的是,您应该告诉PIL在哪里找到它们。编辑setup.py以便
JPEG_ROOT = None
成为
JPEG_ROOT = libinclude("/usr/lib")
我发现最简单的方法是使用pip下载源代码但不安装:
pip install --no-install PIL
编辑设置(在虚拟环境的构建目录内)和安装
pip install PIL
您可以在我的blog
中找到更多信息你也可以试试pillow这似乎做得很好而且很麻烦(pip安装枕头)
答案 1 :(得分:10)
在Ubuntu上,PIL没有找到jpeg库文件,即使它们已经安装完毕。解决此问题的最简单方法是在安装jpeg dev软件包后创建符号链接。 所以,我需要一个额外的步骤:
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
答案 2 :(得分:8)
对于Ubuntu 11.04,最终对我有用的是:
pip uninstall PIL
sudo apt-get install libjpeg8-dev
pip install PIL
Python Imaging Library(PIL)似乎对jpeg库的版本和位置非常挑剔。由于PIL是用C编写并编译的,因此除了运行时版本之外,还需要库的 开发 版本。
情况非常糟糕,社区分叉PIL创建一个更柔软的版本:枕头: http://pypi.python.org/pypi/Pillow#why-a-fork
答案 3 :(得分:6)
在OSX上,我使用以下二进制文件来同时在系统范围内安装libpng和libjpeg:
因为我已经安装了PIL(通过virtualenv上的pip),我跑了:
pip uninstall PIL
pip install PIL --upgrade
这为我解决了decoder JPEG not available
错误。
答案 4 :(得分:3)
您必须安装库:
sudo aptitude install libjpeg62 libjpeg62-dev zlib1g-dev
答案 5 :(得分:1)
如果pip引发错误,请尝试 easy_install PIL