Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu Django说所有图像都无效,但PIL可以工作_Ubuntu_Nginx_Python Imaging Library_Django Models_Gunicorn - Fatal编程技术网

Ubuntu Django说所有图像都无效,但PIL可以工作

Ubuntu Django说所有图像都无效,但PIL可以工作,ubuntu,nginx,python-imaging-library,django-models,gunicorn,Ubuntu,Nginx,Python Imaging Library,Django Models,Gunicorn,我在Ubuntu12.04上运行了一个新的Linode,使用Nginx、Gunicorn和Django 1.4。上载到imagefield(在本地工作)会声明文件已损坏或无效,包括本地工作的图像 PIL工作。我可以加载、检查和收集图像的各种属性 我也在使用virtualenv 有什么建议吗 更多信息: -------------------------------------------------------------------- PIL 1.1.7 SETUP SUMMARY -----

我在Ubuntu12.04上运行了一个新的Linode,使用Nginx、Gunicorn和Django 1.4。上载到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结束时的输出。问题是,为什么不提供任何支持?

使用以下方法解决:


出于存档目的,该帖子的副本: 以下技术应适用于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
--------------------------------------------------------------------

这是对我有效的解决方案

  • 安装以下组件:

    sudo apt-get install libjpeg62-dev zlib1g-dev libfreetype6-dev
    
  • 转到虚拟环境

    cd ~/.virtualenvs/{env-name}
    
  • 将LIB符号链接到您的环境

    对于32位系统:

    对于64位系统:

  • 安装PIL(注意-如果已经安装,则卸载它,然后重新安装)

  • 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/
    
    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/
    
    pip install PIL