Пакеты для работы с конкуренцией:
• библиотека для работы с потоками 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
Команда virtualenv доступна после установки пакета virtualenv (https://pypi.python.org/pypi/virtualenv), который создает изолированные среды Python. Она создает каталог, содержащий все необходимые исполняемые файлы пакетов, которые могут понадобиться для проекта, написанного на Python.
Для того чтобы установить virtualenv с помощью менеджера пакетов Ubuntu, введите следующий код:
$ sudo apt-get install python-virtualenv
Для Fedora:
$ sudo yum install python-virtualenv
Вы можете установить пакет с помощью команды pip. Запустите менеджер в командной строке консоли оболочки и добавьте параметр --user, чтобы установить пакет локально для себя (не выполняя установку для всей системы):
$ pip3 install --user virtualenv
Для Python 2:
$ sudo pip install --user virtualenv
Как только вы окажетесь в виртуальной среде, всегда сможете использовать команду pip независимо от того, работаете вы с Python 2 или Python 3 (что мы и будем делать на протяжении остальной части этого руководства).
Установка Python на Windows
Пользователям Windows приходится труднее остальных, поскольку в этой операционной системе сложнее выполнять компиляцию и многие библиотеки Python втайне используют расширения, написанные на С.
Благодаря формату wheels бинарные файлы можно загрузить из PyPI с помощью pip (если они существуют), поэтому работать с Python стало несколько проще.
У вас есть два пути: использовать коммерческий дистрибутив (они рассматриваются в разделе «Коммерческие дистрибутивы Python» далее) или CPython. Работать с дистрибутивом Anaconda гораздо проще, особенно если вы собираетесь заниматься научными расчетами. Практически каждый разработчик, применяющий Python для Windows (кроме тех, кто самостоятельно разрабатывает библиотеки для Python, основанные на С), порекомендует Anaconda. Но если вы разбираетесь в процессах компилирования и связывания, если хотите вносить свой вклад в проекты, которые используют код на C, или не желаете выбирать коммерческий дистрибутив (вам нужны только бесплатные функции), рассмотрите возможность установки CPython14 (когда требуется интегрировать Python во фреймворк .NET). Однако, если вы только начинаете осваивать Python, знакомство с этим интерпретатором, скорее всего, лучше отложить на будущее. На протяжении этой книги мы рассказываем о CPython.
Со временем все больше пакетов, содержащих библиотеки, написанные на С, будут поддерживать формат wheels для PyPI. Их можно будет получить, воспользовавшись командой pip. Проблемы могут возникнуть, если у зависимости для необходимой вам библиотеки нет решения, написанного в соответствии с wheel. Это одна из причин, почему вы можете предпочесть коммерческие дистрибутивы Python вроде Anaconda.
Вам следует использовать CPython, если вы работаете под Windows и при этом:
• вам не нужны библиотеки Python, которые зависят от расширений, написанных на С;
• у вас есть компилятор для Visual C++ (не тот, что распространяется бесплатно);
• можете настроить MinGW;
• можете загрузить бинарные файлы вручную15, а затем установить их с помощью команды pip install.
Если вы планируете использовать Python в качестве замены R или MATLAB или же хотите быстро включиться в работу и установить CPython позже при необходимости (в разделе «Коммерческие дистрибутивы Python» далее вы сможете найти несколько советов), выбирайте Anaconda16.
Если желаете работать в IDE (integrated development environments — интегрированная среда разработки), чей интерфейс в основном графический («указать и щелкнуть»), или если Python — ваш первый язык программирования и вам предстоит окунуться в первую установленную IDE, используйте Canopy.
Когда вся ваша команда уже применяет один из представленных здесь вариантов, вам следует действовать так же.
Чтобы установить стандартную реализацию CPython для Windows, для начала понадобится загрузить последнюю версию Python 3 (https://www.python.org/ftp/python/3.5.0/python3.5.0.exe) или Python 2.7 (https://www.python.org/ftp/python/2.7.10/python2.7.10.msi) с официального сайта. Если вы хотите быть полностью уверены в том, что устанавливаете последнюю версию (либо же знаете, что вам необходим 64-битный установщик17), можете воспользоваться ресурсом Python Releases for Windows (https://www.python.org/downloads/windows/) (там найдете необходимый вам релиз).
Версия для Windows включает пакет MSI. Этот формат позволяет администраторам Windows автоматизировать установку с помощью стандартных инструментов. Для установки пакета вручную дважды щелкните на файле.
По умолчанию Python устанавливается в каталог, в название которого встроен номер версии (например, версия Python 3.5 будет установлена в каталог C:\Python35\), поэтому у вас может быть несколько версий Python на одной системе и при этом не будет конфликтов. Конечно же, по умолчанию можно использовать всего один интерпретатор. Установщик не изменяет переменную среды PATH18. Все записи разделены точкой с запятой автоматически, поэтому вы всегда сможете самостоятельно выбирать, какую именно копию Python следует запустить.
Вводить полный путь к интерпретатору Python каждый раз утомительно, поэтому добавьте каталоги, в которых хранится версия Python, используемая по умолчанию, в переменную среды PATH. Если эта версия находится в каталоге C:\Python35\, укажите следующий код в переменной PATH:
C:\Python35;C:\Python35\Scripts\
Вы можете сделать это, запустив в PowerShell119 следующие команды:
PS C:\> [Environment]::SetEnvironmentVariable(
"Path",
"$env:Path;C:\Python35\;C:\Python35\Scripts\",
"User")
Второй каталог (Scripts) получает файлы команд, когда устанавливаются определенные пакеты (это очень полезное дополнение). Вам не потребуется устанавливать или конфигурировать что-то еще для применения Python.
С другой стороны, мы настоятельно рекомендуем установить Setuptools, pip и virtualenv перед тем как запускать приложения Python в работу (то есть для работы с совместным проектом). Далее в текущем разделе вы получите более подробную информацию об этих инструментах. В частности, всегда нужно устанавливать