19

Potrzebuję zainstalować PIL na miejscu, aby przetestować APi obrazów GAE w moim lokalnym środowisku.Jak zainstalować PIL na Mac OSX 10.5.8 dla Google App Engine?

złapałem PIL 1.1.6 instalator dla Mac, a kiedy idę aby wybrać miejsce docelowe (podczas instalacji), pojawia się błąd:

You cannot install PIL 1.1.6 on this volume. 
PIL requires System Python 2.5 to install. 

Mam Python 2.5.x na tym komputerze.

UWAGA:

Dodano nagrodę. Naprawdę potrzebuję sposobu na przetestowanie interfejsu API obrazu lokalnie na moim Macu.

+0

Czy to Twoja własna instalacja lub wersja Pythona systemu? Czy wypróbowałeś te wersje PIL i Python: http://pythonmac.org/packages/py25-fat/index.html. Zobacz także http://stackoverflow.com/questions/1774825/unable-to-use-pil-after-installing-using-pythononmac-org-package-mac-os-leopard – Benjamin

+0

+1 - Miał podobne nieszczęścia, próbując zainstalować PIL na Mac OS X, mam nadzieję, że pojawi się dobre rozwiązanie. – ocodo

+0

Dobre pytanie. Nie jestem pewien. Jak mogę sprawdzić? Czy "System Python" odnosi się do wersji dołączonej do Mac OSX? –

Odpowiedz

20

To całkiem proste:

  1. Install MacPorts
  2. Install Python 2.5 z sudo port install python25
  3. Install Pil dla Pythona 2.5 z sudo port install py25-pil
  4. w preferencjach wyrzutni Google App Engine ustawić /opt/local/bin/python2.5 jako Ścieżka w języku Python*
  5. Restart wyrzutnia Google App Engine
  6. Szczęśliwy kodowania

* należy potwierdzić go ze związkiem ENTER lub nie będzie trwać

+0

Miałem nadzieję, że będzie to łatwe, ale GAE nie znajduje PIL. "nie można znaleźć biblioteki PILon PIL. Zapoznaj się z dokumentacją SDK, aby uzyskać szczegółowe informacje na temat instalowania PIL w twoim systemie." –

+0

@Co widzisz w Preferencjach programu uruchamiającego Google App Engine? – systempuntoout

+0

@ Tak jak powiedziałem, to całkiem proste. – systempuntoout

1

Jak stwierdzono w moim komentarzu, zainstalowałem i przetestowałem instalacje Python i PIL found here i wszystko działa poprawnie. Twój błąd jest prawdopodobnie związany z próbą użycia wersji systemowej Pythona.

+0

Czy muszę najpierw zainstalować pakiet Pythona znaleziony w tym łączu? Czy to przeszkadza w mojej instalacji GAE? –

+0

Tak, potrzebujesz tego pakietu. Nie mam pojęcia, co zrobi z GAE ... – Benjamin

0

nie mam 10.5.8 to sprawdzić, więc YMMV (działa na 10.6):

  1. zainstalować MacPorts (wersja Leopard): http://www.macports.org/install.php
  2. Aplikacje -> Narzędzia -> Terminal
  3. $ sudo port install python27
  4. $ sudo port install py27-pip

zainstalować PIL za pośrednictwem MacPorts lub PIP (w zależności Działa - nie uruchamiaj obu):

  • $ sudo port install py27-pil
  • $ sudo pip-2,7 zainstalować PIL

Uruchom Pythona 2.7 i przetestować go:

$ python2.7 
>>> import PIL 
>>> PIL 
<module 'PIL' from '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/__init__.pyc'> 

Pamiętaj, musisz wpisać , ponieważ $ python będzie nadal ładować wersję Pythona dla systemu OS X, czyli 2.5 Wierzę ...

Oznacza to, że wszystkie skrypty, które napiszesz z #!/usr/bin/env python na górze będą używać Pythona bez PILa 2.5. Będziesz musiał je zmienić na #!/opt/local/bin/python2.7 dla PIL-Python 2.7. Albo ...

Można łatwo zmienić w zależności od tego Python wersja $ python obciążeń, a ignorować tego nagłówka szaleństwo, instalując python_select:

$ sudo port install python_select 
...installs stuff... 
$ sudo python_select python27 

Teraz, gdy pojawią $ python, to będzie załadować Python 2.7, a nie OS X Python 2.5. W każdej chwili możesz łatwo się wycofać. Po prostu uruchom $ python_select -l, a zobaczysz wersję Pythona w wersji -apple. Na 10,6: $ sudo python_select python26-apple

+0

Próbuję tego. . . –

+0

To działało dobrze i mam zainstalowane PIL, ale Google App Engine tego nie widzi: OSTRZEŻENIE 2011-03-31 03: 37: 39,566 dev_appserver.py:3700] Nie można zainicjować obrazów API; prawdopodobnie brakuje modułu Python "PIL". ImportError: Brak modułu o nazwie _imaging –

+0

MacPorts faktycznie instaluje oddzielną kopię Pythona, inną niż Mac OS X. Wszystkie rzeczy z MacPorts znajdują się wewnątrz/opt/local/... Robią to, aby oddzielić elementy od OS X (uniemożliwiają MacPortsowi złamanie OS X i na odwrót). Zasadniczo twoja kopia Google App Engine jest prawdopodobnie instalowana przy użyciu wersji Pythona firmy Apple (dzieje się tak, jeśli uruchomisz instalator Google'a).Będziesz musiał zainstalować go dla Pythona MacPorta za pomocą 'sudo port install py27-googleappengine'. Wtedy powinieneś być w stanie 'python2.7', a następnie zaimportować go. –

5

chciałbym zainstalować homebrew i używać, aby zainstalować python2.7 (wymóg dla pip pracować prawidłowo razem z homebrew), a następnie użyć pip zainstalować PIL.

Jeśli nie masz już Macports lub fink lub coś zainstalowanego już, to jest proste.Jeśli to zrobisz, możesz najpierw sprawdzić, jak go usunąć (szczególnie jeśli są one dostępne pod /usr/local).

Instalacja Homebrew: https://github.com/mxcl/homebrew/wiki/Installation

(Jeśli zainstalowany Xcode (trzeba kompilator) można po prostu użyć tego jednego-liner, ale polecam zapoznać się z instrukcją pierwszy więc zrozumieć, co robi.)

ruby -e "$(curl -fsSLk https://gist.github.com/raw/323731/install_homebrew.rb)" 

Instalacja pytona 2,7:

brew install python 

Wystarczy pamiętać, aby dodać pytona homebrew, a także swojej homebrew katalogu bin do przodu $PATH po zainstalowaniu (umieścić to w swoim ~/.bashrc):

export PATH=/usr/local/bin:/usr/local/Cellar/python/2.7.1/bin:$PATH 

Instalacja PIL: (wydaje się, że mój instalacja jest związany przeciwko libjpeg, tak że najpierw zainstalować)

brew install jpeg 
pip install pil 

tam udać.

+2

GAE wymaga Pythona 2.5 – systempuntoout

3

Daj Pillow spróbować.

pip install Pillow 

... i to wszystko.

+0

Pracował idealnie dla mnie - dzięki :) –

2

Oto kolejny sposób, który nie wymaga MacPorts lub homebrew, itp ... http://cgarvey.ie/blog/archive/2010/01/27/installing-pil-on-mac-os-x-snow-leopard-for-use-in-google-app-engine/

Mówi irbis w tytule, ale to działa dobrze na pantery (właśnie to zrobił). Parafraza z artykułu:

  1. Pobierz plik jpegsrc.v8c.tar.gz lub najpóźniej od http://www.ijg.org/files/
  2. Extract jpegsrc i od wewnątrz tego katalogu:

    eksportu CC = "gcc -arch i386"
    ./configure
    zrobić
    sudo make install

  3. Pobierz i wyodrębnij plik PIL oraz z poziomu katalogu PIL i zainstaluj go pod adresem: setup.py install sudo python setup

Wydaje się, że działa to dla mnie, więc mam nadzieję, że pomaga komuś innemu.

Przepraszam, że formatowanie jest trochę dziwne, ale mam problem z edytorem.

+1

To też zadziałało dla mnie - OSX 10.7.2 – a1phanumeric

2
sudo port install py27-pil 
pip install pil 
0

miałem python2.7 i PIL zainstalowane przez długi czas (przy użyciu MacPorts) i używam je z powodzeniem w pracy non-app-engine. App Engine nie udało się załadować go i zalogować się następujący komunikat:

Could not initialize images API; you are likely missing the Python "PIL" module.

Zainspirowany użytkownika @ DaveGallagher komentarzu powyżej około DarwinPorts instalowania w/opt/local/... zdałem sobie sprawę, że nie został uruchomiony właściwej pytona. W "Google App Engine Launcher", w "Preferencje ...", zmieniłem "Python" Ścieżka do

/opt/local/bin/python2.7

Teraz, kiedy biegnę, znajdzie PIL i prace serwisowe zdjęć.

ps. używam GAE Launchera 1.8.2.978.