4

我正在使用 Nginx、Gunicorn 和 Django 1.4 在 Ubuntu 12.04 上运行一个新的 Linode。上传到图像字段(在本地工作)声称文件已损坏或无效,包括在本地工作的图像。

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 结束时的输出。问题是,为什么没有可用的支持?

4

2 回答 2

2

使用以下方法解决:http: //www.sandersnewmedia.com/why/2012/04/16/installing-pil-virtualenv-ubuntu-1204-precise-pangolin/


出于存档目的,该帖子的副本:

以下技术应该适用于 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
--------------------------------------------------------------------
于 2012-05-18T23:01:07.390 回答
2

这是对我有用的解决方案。

  1. 安装以下

    sudo apt-get install libjpeg62-dev zlib1g-dev libfreetype6-dev
    
  2. 转到您的虚拟环境

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

    对于 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/
    
  4. 安装 PIL(注意 - 如果已经安装,请卸载它然后重新安装)

    pip install PIL
    
于 2012-06-06T11:18:06.033 回答