2012-07-16 95 views
6

某些可能不应该导致我这么多问题的东西是。在Ubuntu上安装Python映像库(PIL)

我想我的Ubuntu服务器上安装PIL。它的安装很好。但是,每次尝试更新数据库以添加图像字段时,我都会收到以下错误:

错误:一个或多个模型未验证: product.product:“image”:要使用ImageField,您需要安装Python Imaging Library。获取它在http://www.pythonware.com/products/pil/

我刚刚意识到我已经登录为我的用户。我是否需要以root身份登录才能安装它?我在VPS而不是本地机器上做这件事。

我试着在网络上的教程的负荷和不成气候的。

+0

这是Django的'ImageField'吗? – 2012-07-16 13:36:45

+1

如果您未以root身份登录,似乎不太可能有权将模块安装到系统站点包中。如果你不被允许,你可能想要设置一个virtualenv并从那里去 – 2012-07-16 13:39:05

+0

Thankyou ..我已经为我的网站设置了virtualenv。我最初安装它在virtualenv(但我认为它安装到主系统)。我会如何将它安装到virtualenv? – JDavies 2012-07-16 13:44:18

回答

21

我必须安装python-dev的再安装PIL我的virtualenv内。

现在都在工作。

感谢您的帮助! :)

+0

首先,apt-get install libjpeg-dev libpng-dev获得jpeg支持 – PhoebeB 2013-07-05 22:22:29

4

如果你不是根用户,然后输入以下命令应安装python-成像:

sudo apt-get install python-imaging 

或者(如果是root),下面的命令(没有sudo)将安装python-成像

apt-get install python-imaging 
+0

感谢您的回复。我已经尝试了这两个命令,这是我回来的消息: python-imaging已经是最新版本。 0升级,0新安装,0删除和33未升级。 – JDavies 2012-07-16 13:42:29

+0

这意味着你的系统中已经安装了PIL;你不需要再安装它 – 2012-07-16 13:50:56

0

理论上,应该使用一个virtualenvpip install pil那里......如果你有机会和希望使用全系统包,那么你就需要提升到root(须藤),以easy_installpip斯塔二。

确保你的服务器(Django的?)重新启动,因此它可以拿起新库。 (解释器似乎并不总是在运行时拾取新安装的模块)。