- Установка Python и pip на Windows
- 64-разрядный Python против 32-разрядного
- Запускаем установщик Python
- Подтверждаем, что Python был установлен правильно
- Основные возможности библиотеки Python Imaging Library / Pillow / PIL
- Что такое Pillow?
- Загрузка и установка Pillow
- Убедитесь, что Pillow установлена
- Форматы файлов
- Как использовать Pillow для работы с изображениями
- Использование Pillow
- Installing PIL/Pillow/cImage for Python on Windows and Mac
- What is Python?
- What is PIL/Pillow?
- What is cImage?
- Installing Python, PIL/Pillow, and cImage.py
- Windows
- Олег Чирухин
- Ср, 9 дек, 2009, 03:10 Установка и сборка PIL (Python Imaging Library)
Установка Python и pip на Windows
В данном разделе мы научимся устанавливать Python и менеджер пакетов pip на Windows 10 с нуля. Лучший способ установить Python на Windows — это скачать официальный установщик с сайта python.org. Чтобы сделать это, откройте браузер и перейдите по ссылке https://python.org/. После завершения загрузки установщика, откройте «Загрузки». Сайт обнаружит, что вы посетили его с Windows, и предложит скачать последнюю версию Python 3 или Python 2. Если вы не знаете, какую версию использовать, то я рекомендую Python 3. Если вам нужно работать с унаследованным кодом Python 2, тогда вам необходим Python 2. Под вкладками Downloads → Download for Windows нажмите кнопку “Python 3.X.X” (или “Python 2.X.X”), чтобы скачать установочный файл.
64-разрядный Python против 32-разрядного
Если вы гадаете, какую версию Python нужно использовать 64-разрядную или 32-разрядную, вам, скорее всего, понадобится 32-разрядная. Иногда достаточно тяжело найти бинарники для 64-разрядной версии, а это значит, что некоторые сторонние модули могут установиться неправильно на 64-разрядной версии Python. Мое мнение – использовать ту версию, которую конкретно рекомендуют на официальном сайте. Если вы кликните кнопку Python 3 или Python 2 под “Download for Windows”, вы получите именно ту версию, которую выбрали. Помните, Если вы в итоге сделаете неправильный выбор, и захотите перейти на другую версию Python, вы можете просто удалить существующую версию и переустановить его, скачав другой установщик с официального сайта.
Запускаем установщик Python
По окончанию загрузки установщика, запустите его двойным щелчком мыши, чтобы начать установку Python. Обязательно установите флажок на «Add Python X.Y to PATH» в мастере настройке. Убедитесь, что флажок “Add Python X.Y to PATH” поставлен в установщике, в противном случае у вас будут проблемы с доступом инсталлятора Python к командной стоке. Нажмите «Установить» для начала установки. Установка должна пройти быстро, после чего Python будет готов к запуску на вашей системе. К следующему шагу нужно убедиться, что все было выполнено надлежащим образом.
Подтверждаем, что Python был установлен правильно
По окончанию установки, Python должен быть установлен на вашем компьютере. Давайте убедимся в том, что все было выполнено правильно, протестировав, имеет ли Python доступ к командной строке (cmd) Windows:
- Откройте командную строку Windows, запустив cmd.exe
- Введите pip и нажмите «Enter»
- Вы увидите справочный текст менеджера пакетов Python под названием “pip”. Если вы получите уведомление об ошибке, повторите этапы установки Python, и убедитесь в том, что вы обладаете рабочей версией Python. Большая часть проблем, с которыми вы можете столкнуться, будут иметь то или иное отношение к неправильной настройке PATH. Переустановка и подтверждение того, что опция “Add Python to PATH” была активирована, должны исправить эту проблему.
Есть вопросы по Python?
На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!
Основные возможности библиотеки Python Imaging Library / Pillow / PIL
PIL, известная как библиотека Python Imaging Library, может быть использована для работы с изображениями достаточно легким способом. У PIL не было никаких изменений и развития с 2009. Поэтому, добрые пользователи этого сайта предложили взглянуть на Pillow еще раз. Эта статья поможет вам узнать как пользоваться Pillow.
Что такое Pillow?
Pillow это форк PIL (Python Image Library), которая появилась благодаря поддержке Алекса Кларка и других участников. Основана на коде PIL, а затем преобразилась в улучшенную, современную версию. Предоставляет поддержку при открытии, управлении и сохранении многих форматов изображения. Многое работает так же, как и в оригинальной PIL.
Загрузка и установка Pillow
Перед началом использования Pillow, нужно загрузить и установить ее. Pillow доступна для Windows, Mac OS X и Linux. Самая “свежая” версия — это версия “8.1.0”, она поддерживается на python 3.6 и выше. Для установки Pillow на компьютеры Windows используйте conda или pip :
Для установки Pillow на компьютерах Linux просто используйте:
А установки Pillow на MacOS X нужно для начала установить XCode, а затем Homebrew. После того как Homebrew установлен, используйте:
Убедитесь, что Pillow установлена
Убедитесь, что Pillow установлена, откройте терминал и наберите следующее в текущей строке:
Если система показывает снова >>> , значит модули Pillow правильно установлены.
Форматы файлов
Перед началом использования модуля Pillow, давайте укажем некоторые поддерживаемые типы файлов: BMP, EPS, GIF, IM, JPEG, MSP, PCX PNG, PPM, TIFF, WebP, ICO, PSD, PDF . Некоторые типы файлов возможны только для чтения, в то время как другие доступны только для написания. Чтобы увидеть полный список поддерживаемых типов файла и больше информации о них, ознакомьтесь с руководством к Pillow.
Как использовать Pillow для работы с изображениями
Поскольку мы собираемся работать с изображениями, для начала, скачаем одно. Если у вас уже есть изображение, которое хотите использовать, пропустите этот шаг, описанный ниже.
В нашем примере будем использовать стандартное тестовое изображение под названием «Lenna» или «Lena». Это изображение используется во многих экспериментах по обработке изображений. Просто зайдите сюда и загрузите изображение. Если вы нажмете на изображение, оно сохранится как изображение с количеством пикселей 512×512.
Использование Pillow
Давайте посмотрим на возможные варианты использования этой библиотеки. Основные функции находятся в модуле Image . Вы можете создавать экземпляры этого класса несколькими способами. Путем загрузки изображений из файлов, обработки других изображений, либо создания изображений с нуля. Импортируйте модули Pillow, которые вы хотите использовать.
Installing PIL/Pillow/cImage for Python on Windows and Mac
IT Helpdesk
Fill out a ticket at help.stolaf.edu or stop by the IT Helpdesk in RML 353, right off the Rolvaag Memorial Library Atrium
Helpdesk Hours
Sunday: 1:30pm – 11pm
Monday – Thursday: 7:45am – 11pm
Friday: 7:45am – 5pm
Saturday: Closed
What is Python?
Python is a widely-used programming language used in many of the computer science classes here at St. Olaf.
What is PIL/Pillow?
PIL (Python Imaging Library) adds many image processing features to Python. Pillow is a fork of PIL that adds some user-friendly features.
What is cImage?
cImage.py is a Python module used for image processing.
Installing Python, PIL/Pillow, and cImage.py
Windows
- Install Python 2.7.8 (64-bit — this is important)
- https://www.python.org/ftp/python/2.7.8/python-2.7.8.amd64.msi
- Install Python 3.4.1 (64-bit — this is important)
- https://www.python.org/ftp/python/3.4.1/python-3.4.1.amd64.msi
- Download and install Pillow for Python 2
- https://pypi.python.org/packages/2.7/P/Pillow/Pillow-2.5.3.win-amd64-py2.7.exe#md5=33c3a581ff1538b4f79b4651084090c8
- Download and install Pillow for Python 3
- https://pypi.python.org/packages/3.4/P/Pillow/Pillow-2.5.3.win-amd64-py3.4.exe#md5=6ee659d7b945e826a07c53c15578424f (direct link)
- https://pypi.python.org/pypi/Pillow/ (all other versions)
- https://pypi.python.org/packages/3.4/P/Pillow/Pillow-2.5.3.win-amd64-py3.4.exe#md5=6ee659d7b945e826a07c53c15578424f (direct link)
- Download and install cImage
- Download cImage.py from Github
- Navigate to https://github.com/bnmnetp/cImage
- Click cImage.py, and click the button labeled Raw to see the contents of the file.
- Click File >Save Page As (Chrome & Firefox) or File >Save As (Safari) to save the file on your computer.
- Copy “cImage.py” from where you saved it to C:\Python27\Lib\site-packages and C:\Python34\Lib\site-packages\
- Download cImage.py from Github
- Install Python 3.4.1 (Python 2.7 is already installed by default)
- https://www.python.org/ftp/python/3.4.1/python-3.4.1-macosx10.6.dmg
- Download Xcode from the Mac App Store
- Navigate to Xcode >Preferences >Downloads tab
- Click the button to install the Command Line Tools
- Open Terminal (Applications/Terminal) and run:
- xcode-select –install (You will be prompted to install the Xcode Command Line Tools)
- sudo easy_install pip
- sudo pip install pillow
- pip3.4 install pillow
- Download and install cImage
- Download cimage.py
- Navigate to https://github.com/bnmnetp/cImage
- Click cImage.py, and click the button labeled Raw to see the contents of the file.
- Click File->Save Page As (Chrome & Firefox) or File->Save As (Safari) to save the file on your computer.
- Copy “cImage.py” from where you saved it to Macintosh HD/Library/Python/2.7/site-packages/
- Copy “cImage.py” from where you saved it to Macintosh HD/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/
- Download cimage.py
1520 St. Olaf Avenue
Northfield, MN 55057
Олег Чирухин
Ср, 9 дек, 2009, 03:10
Установка и сборка PIL (Python Imaging Library)
Установка и сборка PIL (Python Imaging Library) для Windows (Windows 7 x64)
Конкретно мне она нужна, чтобы в Django скрипт «manage.py validate» не выдавал такое вот фу: «headshot»: To use ImageFields, you need to install the Python Imaging Library. Get it at http://www.pythonware.com/products/pil/ .»
Для успешного прохождения требуется так называемый Налог на Воздух 9 (т.е. Microsoft Visual Studio 2008 Pro или обученный компилировать под x64 Express). Рассказ будет долгим (настолько долгим, что пришлось засунуть его под кат).
Ключевые слова:
Установка, компиляция и сборка PIL, Zlib, libJPEG, libTIFF, FREETYPE под Windows x64
Там есть собранная версия под Windows, но почему-то она говорит «ой-йой, у вас не обнаружено Python»! Даже если запускать от имени администртора. У меня стоит 64-битная версия Python, зарегистрированная в реестре, и всё равно ничего не работает.
Кроме того, абсолютно неизвестно как именно и с поддержкой чего она собрана.
В общем, будем собирать вручную, и исключительно на Microsoft Visual Studio (никакого Cygwin или MinGW!)
Поехали.
Сначала сам PIL
На том же сайте есть исходники.
Чтобы сберечь себе нервы, качайте версию 1.1.6 (а то вдруг возникнут какие-нибудь проблемы с LibTiff, а патч совместимости с LibTiff есть только для PIL 1.1.6).
Согласно документации, ставиться должно очень просто.
в директории с разархивированными исходниками:
python setup.py build_ext -i
python selftest.py
и если последняя команда прошла успешно, то запускаем установку:
python setup.py install
Но проблема в том, что сборка не проходит успешно.
Если попробовать его установить «как есть», получим вот такое страшное сообщение:
*** TKINTER support not available (Tcl/Tk 8.5 libraries needed)
*** JPEG support not available
*** ZLIB (PNG/ZIP) support not available
*** FREETYPE2 support not available
Что означает: а сейчас мы собрали вам PIL с поддержкой ничего (= без поддержки всего). Замечательная перспектива, способствует постижению Дзен.
Первый кандидат: Zlib
Открываем консоль Visual Studio: Пуск -> Microsoft Visual Studio 2008 -> Visual Studio Tools -> Visual Studio x64 Win64 Command Promt (тридцатидвухбитным товарищам нужно запускать соответствующую. Впрочем, у них и из бинарников, наверное, всё отлично устанавливается, ничего не нужно собирать вручную).
В консоли переходим в папку с разархивированным Zlib.
Сакральная команда звучит так: «nmake /f win32/Makefile.msc»
Но вот так сразу она не сработает, и вылетит с ошибкой: Cannot open include file: ‘unistd.h’: No such file or directory
Ну еще бы под виндой был unistd.
Идем в файл zconf.h, в папочке Zlib’а и с корнем вырезаем единственную строчку, содержащую упоминание unistd:
# include [unistd.h] /* for SEEK_* and off_t */
(угловые скобочки я заменил на квадратные чтобы не сломать разметку блога)
Снова запускаем сакральную команду «nmake /f win32/Makefile.msc», и вау: на этот раз всё собралось нормально.
Следующий кандидат — libJPEG.
Качаем вот отсюда: http://www.ijg.org/files/jpegsr7.zip
Распаковываем, заходим внутрь этой директории, копируем файл jconfig.vc с новым именем jconfig.h,
открываем эту директорию в Visual Studio x64 Console и запускаем команду nmake /f makefile.vc
Этого должно быть достаточно: слава Богу, новая версия (7) вышла в июне этого года. Иначе бы мы имели проблемы со старым исходником, описанные мелким шрифтом.
Если вдруг захочется реанимировать оригинальный libJPEG 98-ого года выпуска, есть несколько вариантов.
Казалось бы, как и всё остальное, скачать можно по адресу:
http://gnuwin32.sourceforge.net/packages/jpeg.htm.
Потом по инструкции скопировать файл jconfig.vc с новым названием jconfig.h и запустить команду nmake /f makefile.vc
Но не тут-то было! Будет куча синтаксических ошибок с общим смыслом «в соответсвии с синтаксисом языка Си тут нужна скобочка» и ничерта не скомпилируется. Это всё потому, что тот исходник не изменялся с 1998 года, более десяти лет. Целая жизнь.
Я обратился в Храм Джедаев, и вот что Сила указала.
Качаем новый исходник libJPEG (с хаками 2003его года) вот здесь:
http://www.neologica.it/download/files/IJGWin32.zip
Открываем IJGWin32.sln, Visual Studio попросит сконвертировать в новый формат, отвечаем что да.
После конвертации обязательно настроить платформу: Build -> Configuration Manager
В поле Configuration выбираем Release.
В поле Platform на 64-битной винде нужно сказать new -> Platform = «x64», Copy settings from = «Win32».
После этого копируем IJGWin32.lib из папки release в корневую два раза, переименовывая в libjpeg.lib и jpeg.lib.
Это чтобы либа и исходники лежали в одной папке.
Но эта либа почему-то работала не до конца, выдавая кучу unresolved external symbols’ов когда компилировалась вместе с LibTIFF и PIL. Возможно это можно как-то исправить.
Если нужно совсем-совсем оригинальный исходник то вот стартовые точки:
http://wiki.secondlife.com/wiki/Compiling_the_viewer_libraries_(MSVS_2003)#JPEGlib
http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/f1c0a712-4c83-4cd3-a460-e8669ccc2059
Упоминающиеся там ссылки кое-где сдохли, но их можно выудить с помощью archive.org
Честно говоря, я не прошел этот квест до конца.
Следующий кандидат — LibTiff.
Скачать который можно по адресу:
http://gnuwin32.sourceforge.net/packages/tiff.htm
(так же Sources-Zip, качаем и куда-нибудь распаковываем)
В консоли Visual Studio переходим в папочку с исходниками (\src\tiff\3.8.2\tiff-3.8.2-src внутри распакованного архива. там еще много всяких исходников кроме этих).
В nmake.opt смотрим закомментированные секции с JPEG и ZIP, убираем комментарии, вписываем туда правильные пути до библиотек. Пути должны быть без пробелов.
Потом запускаем «nmake /f makefile.vc» и наслаждаемся результатом. В результате сборка должна закончиться с ошибками, на тему «unresolved external symbol __imp_TIFFGetVersion» и так далее. Это нормально.
Для старых исходников libtiff и pil нужно качать патч. Не факт что он вам потребуется, но если PIL не захочет компилироваться с ошибками из libTIFF, то попробуйте наложить его.
Качаем патч для PIL по адресу: http://static.wiredfool.com/Imaging-1.1.6-group4.patch
Сделал его из официального патча для 1.1.4 некий товарищ Eric Soroos, за что ему большое спасибо. Все равно лень разбираться, что именно делает этот патч.
Потом копируем патч в папку с распакованным PIL (так, чтобы он лежал рядом с папкой, в которой непосредственно находятся исходники), и с помощью Cygwin или DiffUtils запускаем патч на выполнение:
patch -p0
Удивительно, но для него есть нормальный sln-файл для сборки в Visual Studio.
Скачать можно вот здесь: http://freetype.sourceforge.net/download.html#stable
Нужно открыть файл builds\win32\vc2008\freetype.sln
Потом обязательно настроить платформу: Build -> Configuration Manager
В поле Configuration выбираем Release Multithreaded (если раньше специально нигде не выпиливали /MD из мэйкфайлов)
В поле Platform на 32-битной винде нужно сказать new -> Platform = «x64», Copy settings from = «Win32».
После чего идем в папочку objs\win32\vc2008 и копируем файл в папку \include с именем freetype.lib.
Откываем файл setup.py и проверяем пути до библиотек. Покажу на примере своего:
FREETYPE_ROOT = «F:/Downloads/Development/Python/pillibs/f reetype/ft239/freetype-2.3.9/include»
JPEG_ROOT = «F:/Downloads/Development/Python/pillibs/j pegsr7/jpeg-7»
TIFF_ROOT = «F:/Downloads/Development/Python/pillibs/t iff-3.8.2-1-src/src/tiff/3.8.2/tiff-3.8.2-s rc/libtiff»
ZLIB_ROOT = «F:/Downloads/Development/Python/pillibs/z lib-1.2.3-src/src/zlib/1.2.3/zlib-1.2.3»
TCL_ROOT = None
FREETYPE_ROOT указывает на ту директорию, где лежит папка Includes с заголовками Freetype и либа. Ему нужно, чтобы в этой папке лежало два файла: ft2build.h и freetype.lib)
JPEG_ROOT указывает непосредственно на директорию с lib-файлом, который должен называться либо jpeg.lib, либо libjpeg.lib. Там же должны лежать исходники libjpeg.
ZLIB_ROOT указывает на директорию с lib-файлом, который должен называться zlib.lib
TIFF_ROOT указывает на директорию с lib-файлом, который должен называться libtiff.lib
python setup.py build_ext -i
И получаем радостную табличку:
В этом месте должно быть сказано, что все тесты пройдены наотличненько
python setup.py install
и наслаждаемся работающей библиотекой!
Замечания:
1) Говорят, у кого-то возникли на x64 проблемы со временем. Заменяйте __time32_t на time_t и будет счастье.
2) Что у нас не работает: у libTIFF не работает PIXARLOG, у PIL не работает TCL/TK. Если они вдруг кому понадобятся, могу попробовать провести расследование и понять как это делается.
3) Я не проверил качество (и вообще возможность) работы libTIFF. Возможно он вообще никак не работает, только собирается 😉 Проверить работоспособность — домашнее задание.