joi, 18 martie 2010

Cum instalam PIL pe Mac OS X Snow Leopard

Recent a trebuit sa lucrez la un proiect în care s-a folosit django 1.1. Totul a mers foarte bine până în momentul în care am folosit într-un model django ImageField. Acest tip folosește în implementarea internă PIL(Python Image Library). Sistemul de operare pe care lucrez este Snow Leopard care este pe 64 de biti. Problema este ca a trebuit sa trec compilatorul de python să ruleze pe 32 de biti pentru ca am folosit un backend PostgreSQL. Driver-ul de psycopg2 se compilează pe 32 de biti (din pacate). Dependentele de PIL scrise in C++ sunt compilate pe 64 de biti. Din acest motiv nu reuseam sa folosesc această librărie și primeam eroare la fiecare încercare de folosire a modelului cu ImageField în el. Dupa multe, multe încercări am găsit și cauza și mult mai important rezolvarea: libjpeg și libpng compilate atat pe 32 cât și 64 biti. Le puteti downloada de aici: http://ethan.tira-thompson.org/Mac_OS_X_Ports.html.
După ce instalați librăriile totul ar trebui să meargă fără probleme. Pentru a verifica acest lucru încercați:

  1. python
  2. import _imaging
Dacă nu primiți nici o eroare totul funcționează.

Pentru instalarea PIL este suficient să executați din terminal:

easy_install PIL