Domanda

Attualmente sto installando PIL nel mio ENV virtuale come segue:

pip install -E . -r ./releases/%s/requirements.txt

dove requirements.txt contiene:

pil

posso caricare immagini png, ma le immagini non jpeg attualmente. Dalla lettura sul web sembra che io avere bisogno di decoder libjpeg? Am I Installazione pil in modo errato? Qual è il modo corretto di installare pil per Django in un env virtuale con libjpeg?

È stato utile?

Soluzione

È necessario installare le librerie che gli altri raccomandati, ma soprattutto si dovrebbe dire PIL dove trovarli. Modificare il setup.py in modo che

    JPEG_ROOT = None 

diventa

JPEG_ROOT = libinclude("/usr/lib") 

Ho trovato che il modo più semplice è stato quello di scaricare il sorgente con PIP ma non installare:

 pip install --no-install PIL

modifica la configurazione (all'interno della cartella di generazione dell'ambiente virtuale) e l'installazione

 pip install PIL

è possibile trovare qualche informazione in più nel mio blog

Si può anche provare a cuscino che sembra fare grande lavoro con poca fatica (pip install cuscino)

Altri suggerimenti

Su Ubuntu preciso, PIL non trova i file di libreria jpeg, anche una volta che sono installati. Il modo più semplice per risolvere questo problema è quello di fare un collegamento simbolico dopo aver installato il pacchetto dev jpeg. Così, ho bisogno di un passo in più:

pip uninstall PIL
sudo apt-get install libjpeg8-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
pip install PIL

Per Ubuntu 11.04, ciò che alla fine ha funzionato per me è:

pip uninstall PIL
sudo apt-get install libjpeg8-dev
pip install PIL

La Python Imaging Library (PIL) sembra molto esigente sulla versione e la posizione delle librerie jpeg. E poiché PIL è scritto in C e compilato, è necessario il sviluppo versioni della libreria in aggiunta alle versioni runtime.

La situazione è così male la comunità biforcuta PIL per creare una versione più morbida: Pillow:      http://pypi.python.org/pypi/Pillow#why-a-fork

In OSX, ho usato il seguente binario per ottenere libpng e libjpeg tutto il sistema installato contemporaneamente:

libpng e libjpeg per OSX

Perché ho già avuto PIL installato (tramite pip su un virtualenv), mi sono imbattuto:

pip uninstall PIL
pip install PIL --upgrade

Questa risolto l'errore decoder JPEG not available per me.

È necessario installare le librerie:

sudo aptitude install libjpeg62 libjpeg62-dev zlib1g-dev

se PIP genera un errore, provare     easy_install PIL

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top