Как установить PIL на mac os x 10.7.2 Lion

Я пробовал искать и искать другие вопросы. Тем не менее, я до сих пор не смог найти ясный/простой рецепт для установки PIL (для python 2.6 или 2.7) на mac os x 10.7.2 Lion.

Ответ 1

Если вы используете homebrew, вы можете установить PIL только с brew install pil. Затем вам может потребоваться добавить каталог установки ($(brew --prefix)/lib/python2.7/site-packages) в PYTHONPATH или добавить расположение самого каталога PIL в файл с именем PIL.pth в любом из каталогов пакетов сайтов с содержимым:

/usr/local/lib/python2.7/site-packages/PIL

(предполагая, что brew --prefix - /usr/local).

В качестве альтернативы вы можете просто загрузить/установить/установить его из источника:

# download
curl -O -L http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz
# extract
tar -xzf Imaging-1.1.7.tar.gz
cd Imaging-1.1.7
# build and install
python setup.py build
sudo python setup.py install
# or install it for just you without requiring admin permissions:
# python setup.py install --user

Я запускал выше только сейчас (на OSX 10.7.2, с XCode 4.2.1 и System Python 2.7.1), и он был построен просто отлично, хотя есть вероятность, что что-то в моей среде не является стандартным.

Ответ 2

Это то, что я написал для людей на работе. Это полная работа для того, чтобы получить чистый OSX Lion, работающий virtualenv, используя django + git + некоторые другие вещи:

https://gist.github.com/1781374

Наиболее важными для вас являются:

Установить libjpeg (PIL req)

curl -O http://www.ijg.org/files/jpegsrc.v8c.tar.gz
tar -xvzf jpegsrc.v8c.tar.gz
cd jpeg-8c
./configure
make
sudo make install
cd ../

Установить freetype (больше требований PIL)

curl -O http://ftp.igh.cnrs.fr/pub/nongnu/freetype/freetype-2.4.5.tar.gz
tar -xvzf freetype-2.4.5.tar.gz
cd freetype-2.4.5
./configure
make
sudo make install
cd ../

Установить PIL (обычно в файле требований .txt, поэтому я не имею его в приведенной выше ссылке)

pip install PIL

или некоторые люди должны (не знаете, что такое различие в конфигурации, которое вызывает это):

sudo pip install PIL

EDIT:

ТАКЖЕ обратите внимание, что с помощью инструментов командной строки LION по умолчанию не установлены, вы должны вручную включить их, открыть XCode, чтобы получить предпочтения, а затем загрузить и выбрать инструменты командной строки, которые необходимо установить, прежде чем вы сможете скомпилировать что-либо (отмечено вверху моего GIST)

Ответ 3

Один из способов - через Macports

Установите базовый macports в соответствии с руководством по установке

Затем установите порт py27-pil на port install py27-pil

Затем вам понадобится использовать python, установленный с помощью macports, с помощью port select --set python python27

Мне проще использовать диспетчер пакетов, такой как macports (или fink или homebrew), когда вам нужно установить библиотеки C, а также код python.

Ответ 5

u может попробовать это в терминале:

  • sudo easy_install pip
  • sudo pip install pil

Ответ 6

http://rudix.org обеспечивает бесплатную установку для множества предварительно скомпилированных пакетов unix, включая пил и подушку. После того, как я попробовал каждый ответ на StackOverflow, единственное, что закончилось, было это (я бы хотел, чтобы я нашел их, прежде чем пробовал все остальное). http://rudix.org/packages/pil.html и http://rudix.org/packages/pillow.html

Ответ 7

В Mac OS X, если вы предпочитаете устанавливать PIL с помощью pip внутри виртуального файла, вам может понадобиться заставить PIL использовать встроенные freetypes для Mac, запустив:

$ ln -s /usr/X11/include/freetype2 /usr/local/include/
$ ln -s /usr/X11/include/ft2build.h /usr/local/include/
$ ln -s /usr/X11/lib/libfreetype.6.dylib /usr/local/lib/
$ ln -s /usr/X11/lib/libfreetype.6.dylib /usr/local/lib/libfreetype.dylib
$ pip install PIL

Ответ 9

Я пытался выполнить Python script с административными привилегиями на Mac (работает на Lion) и, глядя на этот пост, я узнал, что все, что мне нужно было сделать, это запустить Python с правами администратора, используя "sudo" команды в терминале.

Аналогично: "sudo Python", а затем выполняется script.

Я знаю, что это довольно просто, но это было именно то, что мне нужно, чтобы заставить работать script...