我正在使用Nginx,Gunicorn和Django 1.4在Ubuntu 12.04上运行新的Linode。上传到imagefield(在本地工作)声称文件已损坏或无效,包括本地工作的图像。
PIL有效。我可以加载,检查和收集图像的各种属性。
我也在使用virtualenv。
有什么建议吗?
更多信息:
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.7.3 (default, Apr 20 2012, 22:44:07)
[GCC 4.6.3]
--------------------------------------------------------------------
*** TKINTER support not available
*** JPEG support not available
*** ZLIB (PNG/ZIP) support not available
*** FREETYPE2 support not available
*** LITTLECMS support not available
--------------------------------------------------------------------
这是在pip install PIL结束时的输出。问题是,为什么没有可用的支持?
答案 0 :(得分:2)
以下技术应适用于32位和64位系统。
安装构建依赖项:
sudo apt-get build-dep python-imaging
符号链接库:
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libjpeg.so /usr/lib/
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libz.so /usr/lib/
安装:
pip install PIL
你应该在构建之后看到类似的内容:
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.7.3 (default, Apr 10 2012, 22:21:37)
[GCC 4.6.3]
--------------------------------------------------------------------
--- TKINTER support available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------
答案 1 :(得分:2)
这是适合我的解决方案。
安装以下
sudo apt-get install libjpeg62-dev zlib1g-dev libfreetype6-dev
转到您的虚拟环境
cd ~/.virtualenvs/{env-name}
将libs符号链接到您的环境
对于32位系统:
ln -s /usr/lib/i386-linux-gnu/libz.so ./lib/
ln -s /usr/lib/i386-linux-gnu/libjpeg.so ./lib/
ln -s /usr/lib/i386-linux-gnu/libfreetype.so ./lib/
对于64位系统:
ln -s /usr/lib/x86_64-linux-gnu/libz.so ./lib/
ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so ./lib/
ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so ./lib/
安装PIL(注意 - 如果已安装,则卸载然后重新安装)
pip install PIL