当通过Apache wsgi部署我的项目时,在Ubuntu Server VM上使用virtualenv,我在/var/log/apache2/error.log上出现以下错误:
ImportError: Photologue was unable to import Python Imaging Library. Please confirm it's installed and available on your current Python path.
设置:
Django==1.6.6
django-photologue==2.3
Pillow==2.5.1
但是,我已经能够在Ubuntu Desktop VM中运行具有相同配置的项目(用于开发)。对于Ubuntu Server VM,我遵循相同的步骤:
现在,当我尝试通过apache访问浏览器上的网站时出现问题。我转到服务器名称以获取实际的django网站,并在浏览器上获得500内部服务器错误,并在apache日志上导入错误。
我唯一能想到的是,在manage.py shell中我无法做到"导入Image"。但是,photologue有一个try / except导入,它将从PIL导入Image"如果是"导入图像"例外,则涵盖了这种情况。
答案 0 :(得分:1)
我找到答案,在此发布,因为它并不完全明显。
这是一个更微妙的案例,PIL无法链接到apt-get中的目录。 ubuntu forums的答案解决了这个问题。
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /lib/
sudo ln - /usr/lib/x86_64-linux-gnu/libfreetype.so.6 /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so.62 /usr/lib/
然而,我无法用枕头运行django proyect。我不得不使用PIL,这很烦人:
pip uninstall pillow
pip install PIL --allow-external PIL --allow-unverified PIL