Как установить PIL на mac os x 10.7.2 Lion
Я пробовал гуглить и искать вопросы других людей. Тем не менее, я все еще не мог найти ясный/простой рецепт для установки PIL (для python 2.6 или 2.7) на mac os x 10.7.2 Lion.
9 ответов:
Если вы используете homebrew , вы можете установить PIL только с помощью
brew install pil
. Затем вам может потребоваться добавить каталог установки ($(brew --prefix)/lib/python2.7/site-packages
) в ваш PYTHONPATH или добавить расположение самого каталога PIL в файле под названиемPIL.pth
file в любом из каталогов site-packages с содержимым:/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) и он построен просто отлично, хотя есть вероятность, что что-то в моей среде не является дефолтным.
Это то, что я написал для людей на работе. Это полная проработка для получения чистого 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
Правка:
Также обратите внимание, что с помощью Lion инструменты командной строки не устанавливаются по умолчанию, вы должны вручную включить их, открыть XCode got to preferences, затем загрузить и выбрать инструменты командной строки, которые будут установлены, прежде чем вы сможете скомпилировать что-либо (отмечено в верхней части моего GIST)
Один из способов-через Macports
Установите базовый macports в соответствии с руководством по установке
Затем установите порт py27-pil по
port install py27-pil
Затем вам нужно будет использовать python, установленный macports, используя
port select --set python python27
Я считаю, что проще использовать менеджер пакетов, такой как macports (или fink или homebrew), когда вам требуется установить библиотеки C, а также код python.
Работает для меня (OS X Yosemite 10.10.2-Python 2.7.9):
xcode-select --install sudo pip install pillow
Попробуйте это проверить:
from PIL import Image image = Image.open("file.jpg") image.show()
Http://rudix.org обеспечивает беспроблемную установку для множества предварительно скомпилированных пакетов unix, включая pil и pillow. После того, как я попробовал каждый ответ на StackOverflow, единственное, что в итоге сработало, было это (жаль, что я не нашел их до того, как попробовал все остальное). http://rudix.org/packages/pil.html и http://rudix.org/packages/pillow.html
На Mac OS X, если вы предпочитаете устанавливать PIL с помощью pip внутри virtualenv, то вам, возможно, придется заставить 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
Установите библиотеку изображений Python:
sudo pip install pillow
Я пытался выполнить скрипт Python с административными привилегиями на Mac (работает на Lion) и, глядя на этот пост, я обнаружил, что все, что мне нужно было сделать, это запустить Python с административными привилегиями с помощью команды "sudo" в терминале.
Вот так: "sudo Python" и затем выполнение скрипта.
Я знаю, что это довольно простой, но это было именно то, что мне нужно, чтобы заставить мой сценарий работать...