Как установить PIL на Mac OSX 10.5.8 для Google App Engine?
Мне нужно установить PIL локально для проверки изображений GAE api в моей локальной среде.
Я схватил установщик 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.
Ответы
Ответ 1
Это довольно легко:
- Установить MacPorts
- Установите Python 2.5 с
sudo port install python25
- Установить Pil для Python 2.5 с помощью
sudo port install py25-pil
- В Настройках запуска Microsoft App Engine установите
/opt/local/bin/python2.5
как Путь Python *
- Перезапустите запуск приложения Google App Engine
- Счастливое кодирование
* обязательно подтвердите его с помощью ENTER или оно не будет сохраняться
Ответ 2
Я бы установил 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
Не забудьте добавить пингтон homebrew, а также ваш каталог binb вверху вашего $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
Дайте Pillow попытку.
pip install Pillow
... и что он.
Ответ 4
Вот еще один метод, который не требует macports или homebrew и т.д.
http://cgarvey.ie/blog/archive/2010/01/27/installing-pil-on-mac-os-x-snow-leopard-for-use-in-google-app-engine/
В названии говорится о снежном барсе, но он отлично работает на леопарде (просто сделал это). Перефразирован из статьи:
- Загрузите jpegsrc.v8c.tar.gz или последний из http://www.ijg.org/files/
-
Извлеките jpegsrc и из этого каталога:
export CC = "gcc -arch i386"
. /configure
сделать
sudo make install
-
Загрузите и извлеките PIL и из каталога PIL
sudo python setup.py install
Кажется, это работает для меня так, надеюсь, это помогает кому-то другому.
Извините, что форматирование немного странно, но у меня проблемы с редактором.
Ответ 5
sudo port install py27-pil
pip install pil
Ответ 6
Как указано в моем комментарии, я установил и протестировал установки Python и PIL найденные здесь, и все работает нормально. Вероятно, ваша ошибка связана с попыткой использовать системную версию Python.
Ответ 7
У меня нет 10.5.8, чтобы проверить это, поэтому YMMV (работает с 10.6):
Установите PIL либо через MacPorts, либо в pip (в зависимости от того, что работает - НЕ РАБОТАЙТЕ ОБА):
- $sudo port install py27-pil
- $sudo pip-2.7 install PIL
Запустите Python 2.7 и проверьте его:
$ 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
, и вы увидите -apple версию Python. В 10.6: $ sudo python_select python26-apple
Ответ 8
У меня были python2.7 и PIL, установленные в течение длительного времени (с использованием MacPorts), и я успешно их использовал в работе без приложения. Приложению App Engine не удалось загрузить его и зарегистрировать следующее сообщение:
Не удалось инициализировать API изображений; вам, вероятно, не хватает модуля PILON Python.
Вдохновленный комментарием @DaveGallagher выше о настройках MacPorts в /opt/local/..., я понял, что у меня не работает правильный питон. В "Google App Engine Launcher" в "Предпочтения..." я изменил "Путь Python" на
/opt/local/bin/python2.7
Теперь, когда я забегаю, он находит PIL и работает служба изображений.
пс. Я запускаю GAE Launcher 1.8.2.978.