2012-07-16 10 views
6

Coś, co prawdopodobnie nie powinno powodować tyle problemów, jest.Instalowanie biblioteki obrazowania Pythona (PIL) na Ubuntu

Próbuję zainstalować PIL na moim serwerze Ubuntu. Instaluje się dobrze. Jednak za każdym razem, gdy próbuję aktualizować bazę danych, aby dodać pole obrazu, pojawia się następujący błąd:

Błąd: Jeden lub więcej modeli nie zostało sprawdzonych: product.product: "image": Aby użyć ImageFields, musisz zainstaluj bibliotekę obrazowania Python. Uzyskaj go pod numerem http://www.pythonware.com/products/pil/.

Właśnie stwierdziłem, że jestem zalogowany jako mój użytkownik. Czy muszę być zalogowany jako root, aby go zainstalować? Robię to na VPS, a nie na komputerze lokalnym.

Próbowałem wielu tutoriali w Internecie i nie dostałem się nigdzie.

+0

Czy to "ImageField" Django? –

+1

Prawdopodobnie nie masz uprawnień do instalowania modułów w pakietach systemowych, jeśli nie jesteś zalogowany jako root. Jeśli nie masz na to ochoty, możesz chcieć skonfigurować virtualenv i przejść stamtąd –

+0

Dziękuję. Mam konfigurację virtualenv dla mojej strony. Pierwotnie zainstalowałem go w virtualenv (jednak myślę, że został zainstalowany w systemie głównym). Jak mam go zainstalować na virtualenv? – JDavies

Odpowiedz

21

Musiałem zainstalować python-dev, a następnie zainstalować PIL wewnątrz mojego virtualenv.

Wszystko działa teraz.

Dzięki za pomoc! :)

+0

i najpierw apt-get install libjpeg-dev libpng-dev aby uzyskać wsparcie jpeg – PhoebeB

4

Jeżeli nie jesteś korzeń, a następnie wprowadzając następującą komendę należy zainstalować python-imaging:

sudo apt-get install python-imaging 

Albo (jeśli jesteś root), następujące polecenie (bez sudo) będzie zainstalować python-imaging

apt-get install python-imaging 
+0

Dziękuję za odpowiedzi. Wypróbowałem oba te polecenia i jest to komunikat, który otrzymuję: Python-image jest już najnowszą wersją. 0 zaktualizowanych, 0 nowo zainstalowanych, 0 do usunięcia i 33 nie uaktualnionych. – JDavies

+0

Oznacza to, że masz zainstalowane PIL w systemie; nie musisz już jej instalować –

0

powinien być idealnie przy użyciu virtualenv i pip install pil tam ... Jeśli masz dostęp i chcą korzystać z systemu szerokich pakietów, to trzeba podnieść do korzenia (sudo) do easy_install lub pip Insta ll.

Upewnij się, że Twój serwer (Django?) Jest ponownie uruchomiony, aby mógł pobierać nowe biblioteki. (Interpreter nie zawsze wydaje się pobierać nowo zainstalowane moduły, gdy jest uruchomiony).