2012-07-16 19 views
6

Algo que probablemente no debería estar causándome tantos problemas, es.Instalación de la biblioteca de creación de imágenes de Python (PIL) en Ubuntu

Estoy tratando de instalar PIL en mi servidor Ubuntu. Está instalando bien. Sin embargo, cada vez que intento actualizar la base de datos para agregar el campo de imagen aparece el siguiente error:

Error: Uno o más modelos no validaron: producto.producto: "imagen": Para usar ImageFields, necesita instalar la biblioteca de imágenes de Python. Obtenlo en http://www.pythonware.com/products/pil/.

Acabo de darme cuenta de que he iniciado sesión como mi usuario. ¿Debo iniciar sesión como root para instalarlo? Estoy haciendo esto en un VPS no en una máquina local.

He intentado muchos tutoriales en la web y no ha llegado a ninguna parte.

+0

¿Es este 'ImageField' de Django? –

+1

Parece poco probable que tenga derechos para instalar módulos en los paquetes de sitio del sistema si no ha iniciado sesión como raíz. Si no está permitido, puede configurar un virtualenv e ir desde allí –

+0

Gracias. He configurado un virtualenv para mi sitio. Originalmente lo instalé dentro del virtualenv (sin embargo, creo que se instaló en el sistema principal). ¿Cómo podría instalarlo en Virtualenv? – JDavies

Respuesta

21

Tuve que instalar python-dev y luego instalar PIL dentro de mi Virtualenv.

Todo funcionando ahora.

¡Gracias por tu ayuda! :)

+0

y primero, apt-get install libjpeg-dev libpng-dev para obtener soporte jpeg – PhoebeB

4

Si no es root, a continuación, introduciendo el siguiente comando debe instalar Python de imágenes:

sudo apt-get install python-imaging 

O (si es root), el siguiente comando (sin sudo) instalará pitón de imágenes

apt-get install python-imaging 
+0

Gracias por sus respuestas. He intentado ambos comandos y este es el mensaje que recibo: python-imageing ya es la versión más nueva. 0 actualizado, 0 recién instalado, 0 para eliminar y 33 no actualizado. – JDavies

+0

Eso significa que tiene PIL ya instalado en su sistema; no necesita instalarlo más –

0

Lo ideal debe utilizar un virtualenvpip install pil y allí ... Si tiene acceso y desea utilizar amplios paquetes del sistema, entonces usted necesita para elevar a root (sudo) a easy_install o pip insta ll.

Asegúrese de que su servidor (Django?) Se reinicie para que pueda recoger las nuevas bibliotecas. (El intérprete no siempre parece recoger los módulos recién instalados mientras se está ejecutando).

Cuestiones relacionadas