PythonNet
Python for.NET (http://pythonnet.github.io/) — это пакет, который предоставляет практически бесшовную интеграцию нативно установленного Python и общеязыковой среды выполнения. NET (Common Language Runtime (CLR)). Такой подход противоположен подходу, которым пользуется IronPython. Это означает, что PythonNet и IronPython дополняют друг друга, а не конкурируют.
В совокупности с Mono (http://www.mono-project.com/) PythonNet позволяет нативным установкам Python в операционных системах, отличающихся от Windows, например OS X и Linux, работать с фреймворком. NET. Реализация может быть без конфликтов запущена вместе с IronPython.
PythonNet поддерживает версии от Python 2.3 до Python 2.7. Инструкции по установке вы найдете на странице http://pythonnet.github.io/readme.html.
Skulpt
Skulpt (http://www.skulpt.org/) — это реализация Python на JavaScript. Для нее еще не была полностью портирована стандартная библиотека CPython. Библиотека включает в себя модули math, random, turtle, image, unittest, а также части модулей time, urllib, DOM и re. Предназначена для использования при обучении. Кроме того, есть возможность добавить собственные модули (http://bit.ly/skulpt-adding-module).
Стоит упомянуть примеры ее применения — Interactive Python (http://interactivepython.org/) и CodeSkulptor (http://www.codeskulptor.org/demos.html).
Skulpt поддерживает большую часть функциональности версий Python 2.7 и Python 3.3. Для получения более подробной информации смотрите страницу реализации Skulpt на GitHub (https://github.com/skulpt/skulpt).
MicroPython
MicroPython (https://micropython.org/) — это реализация Python 3, оптимизированная для запуска на микроконтроллере. Поддерживает 32-битные процессоры ARM, имеющие набор инструкций Thumb v2, такие как Cortex-M, широко используемые в дешевых микроконтроллерах. Включает в себя модули стандартной библиотеки Python (http://bit.ly/micropython-library), а также несколько библиотек, характерных для MicroPython, которые отвечают за подробную информацию о плате и памяти, доступ к сетям, а также модифицированную версию ctypes, оптимизированную для уменьшения размера. Эта реализация не похожа на Raspberry Pi (https://www.raspberrypi.org/) — та поддерживала Debian или другую операционную систему, основанную на C, на которой установлен Python. Плата pyboard (https://micropython.org/store/#/store) использует MicroPython как свою операционную систему.
Здесь и далее мы будем использовать CPython в Unix-подобной системе, OS X или Windows.
Итак, перейдем к установке.
Глава 2. Правильная установка Python
В этой главе показан процесс установки CPython на платформах Mac OS X, Linux и Windows. Информация в разделах, посвященных инструментам упаковки (вроде Setuptools и pip), повторяется, поэтому можете сразу перейти к разделу, касающемуся вашей системы.
Если вы работаете в организации, которая рекомендует вам использовать коммерческий дистрибутив Python вроде Anaconda или Canopy, нужно следовать инструкциям от поставщика. Кроме того, для вас будет полезной информация раздела «Коммерческие дистрибутивы Python» в конце этой главы.
Если в вашей системе уже установлен Python, ни при каких обстоятельствах не позволяйте никому менять символьную ссылку на исполнительные файлы Python. Это может закончиться примерно так же плохо, как и декламация вогонской поэзии (https://en.wikipedia.org/wiki/Vogon#Poetry). (Подумайте о системном коде, зависящем от определенной версии Python, которая находится в конкретном месте…)
Установка Python на Mac OS X
Самая поздняя версия Mac OS X — El Capitan[5] — поставляется с собственной реализацией Python 2.7.
Вам
Та версия Python, которая поставляется вместе с OS X, отлично подходит для обучения, но не годится для совместной разработки. Эта версия может быть устаревшей по сравнению с официальной текущей версией, которая считается стабильной производственной версией[6]. Поэтому, если вы хотите использовать Python только для того, чтобы писать сценарии для себя, получать информацию с сайтов или обрабатывать данные, вам больше ничего не понадобится. Но если вы собираетесь вносить свой вклад в проекты с открытым исходным кодом или работать в команде с сотрудниками, которые могут пользоваться другими операционными системами (или планируете заниматься этим в будущем[7]), выбирайте версию CPython.
Перед тем как вы что-либо загрузите, прочтите следующие абзацы. До установки Python вам нужно установить GCC. Для этого загрузите Xcode (http://developer.apple.com/xcode/), упрощенную версию Command-Line Tools (https://developer.apple.com/downloads/) (вам понадобится учетная запись Apple) или даже версию пакета osx-gcc-installer (http://bit.ly/osx-gcc-installer-package).
Если вы уже установили Xcode, не устанавливайте osx-gcc-installer. Их совместная работа может привести к проблемам, которые трудно диагностировать.
Несмотря на то что OS X поставляется с большим количеством утилит Unix, разработчики, знакомые с системами Linux, обнаружат отсутствие одного ключевого компонента: подходящего менеджера пакетов. Эту брешь может заполнить инструмент Homebrew.
Чтобы установить Homebrew, откройте Terminal или ваш любимый эмулятор консоли для OS X и запустите следующий код:
$ BREW_URI=https://raw.githubusercontent.com/Homebrew/install/master/install
$ ruby — e "$(curl — fsSL ${BREW_URI})"
Сценарий объяснит, какие изменения он собирается внести, и предупредит вас перед началом процесса. Как только вы установите Homebrew, добавьте каталог Homebrew в начало вашей переменной среды (окружения) PATH[8]. Вы можете сделать это, добавив следующую строку в нижнюю часть файла ~/.profile:
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
Для установки Python запустите в консоли следующую команду:
$ brew install python3
Для Python 2:
$ brew install python
По умолчанию Python будет установлен в каталог /usr/local/Cellar/python3/ или /usr/local/Cellar/python/ с символьными ссылками[9] для интерпретатора по адресу /usr/local/python3 или /usr/local/python. Если вы планируете использовать параметр — user для команды pip install, то придется обойти баг, который касается disutils и конфигурации Homebrew. Мы рекомендуем работать с виртуальными средами, описанными в подразделе «virtualenv» далее.
Setuptools и pip
Инструмент Homebrew установит Setuptools и pip. Исполняемые файлы, установленные с помощью pip, будут соотнесены для pip3, если вы используете Python 3, или для pip, если вы применяете Python 2.
С помощью Setuptools вы можете загрузить и установить любое совместимое[10] ПО для Python по сети (обычно по Интернету), выполнив всего одну команду (easy_install). Это также позволит вам добавить возможность устанавливать софт по сети для ваших собственных программ, написанных на Python, не затратив много усилий.
Команда pip для pip и команда easy_install для Setuptools — средства для установки и управления пакетами Python. Первую использовать предпочтительнее, поскольку она тоже может удалять пакеты, ее сообщения об ошибке более понятны, а частичные установки пакетов невозможны (если процесс даст сбой, все его результаты будут отменены).
Более детальное сравнение приводится в статье
Для улучшения установленной версии pip введите следующий код в консоли оболочки:
$ pip install — upgrade pip
virtualenv
Инструмент virtualenv создает изолированные среды Python — каталог, содержащий все исполняемые файлы, которые будут использовать пакеты, что могут понадобиться проекту, написанному на Python.
Некоторые считают, что хорошим тоном является установка только лишь virtualend и Setuptools и дальнейшая работа
Для того чтобы установить virtualenv с помощью pip, запустите pip в командной строке консоли оболочки:
$ pip3 install virtualenv
Для Python 2:
$ pip install virtualenv
Как только вы окажетесь в виртуальной среде, всегда сможете использовать команду pip независимо от того, работаете вы с Python 2 или Python 3 (именно это мы и будем делать в остальной части руководства). В подразделе «Виртуальные среды» раздела «Инструменты изоляции» главы 3 использование и мотивация описываются более подробно.
Установка Python на Linux
Ubuntu выпускается только с предустановленной версией Python 3 (версия Python 2 доступна по команде apt-get), начиная с версии Wily Werewolf (Ubuntu 15.10). Все подробности вы можете узнать на странице Python для Ubuntu (https://wiki.ubuntu.com/Python). Релиз Fedora 23 — первый, в котором доступен только Python 3 (обе версии — Python 2.7 и Python 3 — доступны в версиях 20–22), версия Python 2.7 будет доступна только благодаря менеджеру пакетов.
Большая часть параллельных установок Python 2 и Python 3 создает символьную ссылку на интерпретаторы Python 2 и Python 3. Если вы решите использовать Python 2, текущей рекомендацией для Unix-подобных систем (см. Python Enhancement Proposal [PEP 394] (https://www.python.org/dev/peps/pep-0394/)) является необходимость явно указывать python2 (например, #!/usr/bin/env python2 в первой строке файла), не полагаясь на то, что среда сама все сделает.
Несмотря на то что этого нет в PEP 394, теперь принято использовать pip2 и pip3, чтобы указывать на соответствующие установщики пакетов.
Setuptools и pip
Хотя pip доступен в вашей системе благодаря установщику пакетов, для того чтобы гарантировать, что вы будете работать с самой новой версией, выполните следующие шаги.
1. Для начала загрузите get-pip.py[12] (https://bootstrap.pypa.io/get-pip.py).
2. Далее откройте оболочку, измените каталоги так, чтобы они указывали на то же место, что и get-pip.py, и введите следующий код:
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py
Для Python 2:
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
Эти команды также установят Setuptools.
С помощью команды easy_install, которая доступна благодаря Setuptools, вы можете загрузить и установить любое совместимое[13] ПО для Python по сети (обычно по Интернету). Это также позволит вам добавить возможность устанавливать ПО по сети для ваших собственных программ, написанных на Python, не затратив много усилий.
Команда pip позволяет легко устанавливать пакеты Python и управлять ими. Рекомендуется использовать именно этот инструмент вместо easy_install, поскольку эта команда также может удалять пакеты, ее сообщения об ошибке более понятны, а частичные установки пакетов невозможны (если процесс даст сбой, все его результаты будут отменены).
Инструменты разработки
Практически каждый пользователь Python в какой-то момент захочет обратиться к библиотекам, которые зависят от расширений, написанных на языке С. Возможно, ваш менеджер пакетов будет иметь заранее собранные библиотеки, поэтому вы можете сначала проверить это (с помощью команд yum search или apt-cache search). Более новый формат
Пакеты для работы с конкуренцией:
• библиотека для работы с потоками threading (https://docs.python.org/3/library/threading.html);
• библиотека для обработки событий (Python 3.4+) asyncio (https://docs.python.org/3/library/asyncio.html);
• библиотека, основанная на сопрограммах, curio (https://curio.readthedocs.org/);
• библиотека для работы с сетями, основанная на сопрограммах, gevent (http://www.gevent.org/);
• управляемая событиями библиотека для работы с сетями Twisted (https://twistedmatrix.com/).
Научный анализ:
• библиотека для работы с линейной алгеброй NumPy (http://www.numpy.org/);
• набор инструментов для работы с числами SciPy (http://www.scipy.org/);
• библиотека для работы с машинным обучением scikit-learn (http://scikit-learn.org/);
• библиотека для построения графиков Matplotlib (http://matplotlib.org/).
Интерфейс для работы с данными/базой данных:
• интерфейс для формата HDF5 h5py (http://www.h5py.org/);
• адаптер для базы данных PostgreSQL Psycopg (http://initd.org/psycopg/);
• абстракция базы данных и объектно-ориентированный менеджер памяти (mapper) SQLAlchemy (http://www.sqlalchemy.org/).
В Ubuntu в консоли оболочки введите следующий код:
$ sudo apt-get update — fix-missing
$ sudo apt-get install python3-dev # Для Python 3
$ sudo apt-get install python-dev # Для Python 2
В Fedora в консоли оболочки введите такой код:
$ sudo yum update
$ sudo yum install gcc
$ sudo yum install python3-devel # Для Python 3
$ sudo yum install python2-devel # Для Python 2
С помощью команды pip3 install — user
вы сможете выполнить сборку для инструментов, которые должны быть скомпилированы. (Или pip install — user
для Python 2.) Вам также потребуется установить сам инструмент (чтобы узнать, как это делается, обратитесь к документации по установке HDF5 (https://www.hdfgroup.org/HDF5/release/obtain5.html)). Для PostgreSQL в Ubuntu вам необходимо ввести следующий код в консоли оболочки:
$ sudo apt-get install libpq-dev
Для Fedora:
$ sudo yum install postgresql-devel
virtualenv