已安装PIL但图像仍未保存

时间:2013-07-03 05:22:46

标签: python django python-2.7 python-imaging-library pillow

我正在研究Django项目&我是Python的新手。现在我必须设置我的亚马逊服务器(ubuntu)来运行Django Project。我安装了所有必要的Package,我的项目在服务器上运行,但这是主要问题。我想在服务器上存储图像,因为我需要安装PIL,我认为这是用于处理图像文件。我安装了PIL,我解决了一些依赖性问题,安装PIL的输出如下:

sudo pip install PIL
Downloading/unpacking PIL
Running setup.py egg_info for package PIL
WARNING: '' not a valid package name; please use only.-separated package names in setup.py

Installing collected packages: PIL
Running setup.py install for PIL
WARNING: '' not a valid package name; please use only.-separated package names in setup.py
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.7.3 (default, Apr 10 2013, 05:46:21)
              [GCC 4.6.3]
--------------------------------------------------------------------
--- TKINTER support available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.

To check the build, run the selftest.py script.

changing mode of /usr/local/bin/pilfile.py to 755
changing mode of /usr/local/bin/pilfont.py to 755
changing mode of /usr/local/bin/pildriver.py to 755
changing mode of /usr/local/bin/pilconvert.py to 755
changing mode of /usr/local/bin/pilprint.py to 755
Successfully installed PIL
Cleaning up...

我还创建了以下文件的符号链接:

sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib
sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib
sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so /usr/lib

但我仍然无法将图像存储在服务器上。一个错误即将来临'decoder jpeg not available'。现在我很困惑。请帮我摆脱这个问题。我也安装了枕头,但仍然没有成功。

2 个答案:

答案 0 :(得分:1)

我不知道我是否正确,但有人在他的博客中写道,在使用pip的sudo命令时应该小心。我正在使用带有pip的sudo命令来安装PIL,即我正在运行sudo pip install PIL。此命令安装了PIL。但它不适合我。

然后我只是运行pip install PIL,它给了我一些权限错误,如“拒绝访问”。我解决了这些权限问题,并发现现在图像正确存储在服务器上,我没有得到任何进一步的错误。我不知道为什么,但它对我有用。谢谢你们所有人。

答案 1 :(得分:0)

确保您只安装了一个libjpeg版本:

lsof | grep libjpeg

事实证明这正是我的理由。