Как установить PIL на Mac OSX 10.5.8 для Google App Engine? - PullRequest
19 голосов
/ 02 февраля 2011

Мне нужно установить PIL локально, чтобы проверить api-образы GAE в моей локальной среде.

Я взял установщик PIL 1.1.6 для Mac, и когда я иду, чтобы выбрать место назначения (при установке),Я получаю сообщение об ошибке:

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

У меня есть Python 2.5.x на этой машине.

ПРИМЕЧАНИЕ:

Добавлена ​​награда.Мне действительно нужен способ локально протестировать API изображений на моем Mac.

Ответы [ 8 ]

20 голосов
/ 01 апреля 2011

Это довольно просто:

  1. Установка MacPorts
  2. Установка Python 2.5 с sudo port install python25
  3. Установка Pil для Python 2.5 с sudo port install py25-pil
  4. В настройках программы запуска Google App Engine установите /opt/local/bin/python2.5 как Python Path *
  5. Перезапустите панель запуска Google App Engine
  6. Счастливое кодирование

* обязательно подтвердите его нажатием ENTER, иначе оно не будет сохраняться

5 голосов
/ 30 марта 2011

Я бы установил homebrew и использовал его для установки python2.7 (требование для pip для правильной работы вместе с homebrew), а затем использовал pip для установкиPIL.

Если у вас нет macports, fink или чего-то уже установлено, это просто.Если вы это сделаете, вы можете захотеть сначала удалить его (особенно если они живут в /usr/local).

Установка доморощенного : https://github.com/mxcl/homebrew/wiki/Installation

(Еслиу вас установлен Xcode (вам нужен компилятор), вы можете просто использовать этот однострочный, но я рекомендую сначала прочитать инструкции, чтобы вы понимали, что он делает.)

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

Установка Python 2.7:

brew install python

Просто не забудьте добавить Python homebrew и каталог вашего homebrew bin в начало вашего $PATH после установки (поместите его в ~/.bashrc):

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

Установка PIL : (похоже, моя установка связана с libjpeg, поэтому сначала установите ее)

brew install jpeg
pip install pil

Вот, пожалуйста.

3 голосов
/ 02 апреля 2011

Дай Подушку попробуй.

pip install Pillow

... и все.

2 голосов
/ 22 марта 2012
sudo port install py27-pil
pip install pil
2 голосов
/ 30 апреля 2011

Вот еще один метод, который не требует macports или homebrew и т. Д. ... http://cgarvey.ie/blog/archive/2010/01/27/installing-pil-on-mac-os-x-snow-leopard-for-use-in-google-app-engine/

В названии говорится, что в названии указан снежный барс, но он отлично работает на леопарде (только что сделал это).Перефразировано из статьи:

  1. Загрузить jpegsrc.v8c.tar.gz или последнюю версию из http://www.ijg.org/files/
  2. Извлечь jpegsrc и из этого каталога:

    export CC = "gcc -arch i386"
    ./configure
    make
    sudo make install

  3. Скачать и извлечь PIL и из каталога PIL

    sudo python setup.py install

Мне кажется, это работает, надеюсь, это поможет кому-то еще.

Извините, что форматирование немногонемного странно, но у меня возникли проблемы с редактором.

1 голос
/ 02 февраля 2011

Как указано в моем комментарии, я установил и протестировал установки Python и PIL , найденные здесь , и все работает отлично. Вероятно, ваша ошибка связана с попыткой использовать системную версию Python.

0 голосов
/ 18 июля 2013

У меня уже давно установлены python2.7 и PIL (с использованием MacPorts), и я успешно их использую в работе без движка приложения. App Engine не удалось загрузить его и записал следующее сообщение:

Не удалось инициализировать API изображений; вам, вероятно, не хватает модуля Python "PIL".

Вдохновленный приведенным выше комментарием @ DaveGallagher по поводу установки MacPorts в / opt / local / ..., я понял, что у меня не работает нужный питон. В «Панели запуска Google App Engine» в «Настройках ...» я изменил «Путь Python» на

/ Opt / местные / бен / python2.7

Теперь, когда я бегу, он находит PIL и сервис изображений работает.

пс. Я использую GAE Launcher 1.8.2.978.

0 голосов
/ 30 марта 2011

У меня нет 10.5.8 для тестирования, поэтому YMMV (работает на 10.6):

  1. Установить MacPorts (версия Leopard): http://www.macports.org/install.php
  2. Приложения -> Утилиты -> Терминал
  3. $ sudo port install python27
  4. $ sudo port install py27-pip

Установка PIL через MacPorts или pip (в зависимости от того, что работает - DON'T RUN BOTH):

  • $ sudo port установить py27-pil
  • $ sudo pip-2.7 установить PIL

Запустить Python 2.7 и протестировать егоout:

$ 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'>

Помните, вы должны набрать $ python2.7, поскольку $ python продолжит загружать версию Python для OS X, что, как я полагаю, 2.5 ...

Это означает, что любые сценарии, которые вы пишете с #!/usr/bin/env python вверху, будут использовать не PIL Python 2.5.Вам придется изменить их на #!/opt/local/bin/python2.7 для PIL-Python 2.7.Или ...

Вы можете легко изменить любую версию Python $ python и игнорировать это безумие заголовка, установив python_select:

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

Теперь, когда вы запускаете $ python,он загрузит Python 2.7, а не OS X Python 2.5.Вы можете легко переключиться обратно в любое время.Просто запустите $ python_select -l и вы увидите версию Python -apple.На 10.6: $ sudo python_select python26-apple

...