Содержание страницы
Установка модулей Python¶Installing Python Modules
| Эл. почта: | distutils-sig@python.org |
|---|
Будучи популярным проектом с открытым исходным кодом, Python имеет активное сообщество разработчиков и пользователей, которые также предоставляют своё программное обеспечение другим разработчикам Python для использования на условиях открытых лицензий.
Это позволяет пользователям Python эффективно обмениваться опытом и сотрудничать, извлекая пользу из решений, которые другие уже создали для общих (а иногда и редких!) проблем, а также потенциально внося свои собственные решения в общий пул.
Это руководство описывает часть процесса, связанную с установкой. Чтобы узнать о создании и публикации собственных проектов Python, обратитесь к руководству по распространению.
Примечание
Корпоративным и другим институциональным пользователям: следует знать, что многие организации имеют собственную политику в отношении использования и участия в программном обеспечении с открытым исходным кодом. Учитывайте такую политику при использовании инструментов распространения и установки, предоставляемых с Python.
Ключевые термины¶Key terms
- pip – предпочтительная программа для установки пакетов. Начиная с Python 3.4, она по умолчанию входит в состав бинарных установщиков Python.
- Виртуальное окружение – это частично изолированная среда Python, позволяющая устанавливать пакеты для использования конкретным приложением, а не в масштабе всей системы.
- pyvenv – стандартный инструмент для создания виртуальных окружений, входящий в состав Python начиная с версии 3.3. Начиная с Python 3.4, он по умолчанию устанавливает pip во все создаваемые виртуальные окружения
- virtualenv – сторонняя альтернатива (и предшественник) инструмента pyvenv. Она позволяет использовать виртуальные окружения в версиях Python до 3.4, которые либо вообще не содержат pyvenv, либо не могут автоматически установить pip в создаваемые окружения.
- Python Packaging Index – это общедоступный репозиторий пакетов с открытым исходным кодом, доступных для использования другими пользователями Python
- Python Packaging Authority является группой разработчиков и авторов документации, отвечающих за поддержку и развитие стандартных инструментов упаковки, а также связанных метаданных и стандартов форматов файлов. Они поддерживают множество инструментов, документации и трекеров задач как на GitHub так и на BitBucket.
- distutils – оригинальная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. Хотя прямое использование distutils постепенно прекращается, она заложила основу для современной инфраструктуры упаковки и распространения. Она не только остаётся частью стандартной библиотеки, но и живёт в других проявлениях (например, в названии списка рассылки, используемого для координации разработки стандартов упаковки Python).
Базовое использование¶Basic usage
Все стандартные инструменты упаковки предназначены для использования из командной строки.
Следующая команда установит последнюю версию модуля и его зависимости из Python Packaging Index:
python -m pip install SomePackage
Примечание
Для пользователей POSIX (включая пользователей Mac OS X и Linux) примеры в этом руководстве предполагают использование виртуального окружения.
Для пользователей Windows примеры в этом руководстве предполагают, что параметр изменения системной переменной среды PATH был выбран при установке Python.
Также можно указать точную или минимальную версию непосредственно в командной строке:
python -m pip install SomePackage==1.0.4 # specific version
python -m pip install 'SomePackage>=1.0.4' # minimum version
Обычно, если подходящий модуль уже установлен, попытка установить его снова не даст результата. Обновление существующих модулей необходимо запрашивать явно:
python -m pip install --upgrade SomePackage
Дополнительную информацию и ресурсы, касающиеся pip и его возможностей, можно найти в Руководстве пользователя по упаковке Python.
pyvenv имеет собственную документацию по адресу pyvenv – Создание виртуальных окружений. Для установки в активное виртуальное окружение используются команды, показанные выше.
Как мне ...?¶How do I ...?
Это краткие ответы или ссылки для некоторых распространённых задач.
... установить pip в версиях Python до Python 3.4?¶... install pip in versions of Python prior to Python 3.4?
Python начал включать pip в свой состав только с версии 3.4. Для более ранних версий pip требуется «начальная установка», как описано в Руководстве пользователя по упаковке Python.
... установить пакеты только для текущего пользователя?¶... install packages just for the current user?
Передача параметра --user команде python -m pip install установит пакет только для текущего пользователя, а не для всех пользователей системы.
... установить научные пакеты Python?¶... install scientific Python packages?
Ряд научных пакетов Python имеют сложные бинарные зависимости, и в настоящее время их непросто установить напрямую с помощью pip. На данном этапе пользователям зачастую будет проще установить такие пакеты другими способами, чем пытаться устанавливать их с помощью pip.
... работать с несколькими версиями Python, установленными параллельно?¶... work with multiple versions of Python installed in parallel?
В Linux, Mac OS X и других POSIX-системах используйте версионированные команды Python в сочетании с флагом -m для запуска соответствующей копии pip:
python2 -m pip install SomePackage # default Python 2
python2.7 -m pip install SomePackage # specifically Python 2.7
python3 -m pip install SomePackage # default Python 3
python3.4 -m pip install SomePackage # specifically Python 3.4
(также могут быть доступны соответствующие версионированные команды pip)
В Windows используйте программу запуска Python py в сочетании с флагом -m :
py -2 -m pip install SomePackage # default Python 2
py -2.7 -m pip install SomePackage # specifically Python 2.7
py -3 -m pip install SomePackage # default Python 3
py -3.4 -m pip install SomePackage # specifically Python 3.4
Распространённые проблемы установки¶Common installation issues
Установка в системный Python в Linux¶Installing into the system Python on Linux
В системах Linux установка Python обычно входит в состав дистрибутива. Установка пакетов в эту установку Python требует прав root на систему и может нарушить работу системного менеджера пакетов и других компонентов системы, если какой-либо компонент будет неожиданно обновлён с помощью pip.
В таких системах при установке пакетов с помощью pip зачастую лучше использовать виртуальное окружение или установку для каждого пользователя.
Установка бинарных расширений¶Installing binary extensions
Python традиционно в значительной степени полагался на распространение в исходных кодах, предполагая, что конечные пользователи будут компилировать модули расширения из исходников в процессе установки.
С введением поддержки бинарного формата wheel и возможности публиковать wheels как минимум для Windows и Mac OS X через Python Package Index, ожидается, что эта проблема со временем уменьшится, поскольку пользователи смогут чаще устанавливать готовые расширения, а не собирать их самостоятельно.
Некоторые из решений для установки научного программного обеспечения, которое ещё не доступно в виде готовых файлов wheel, также могут помочь получить другие бинарные расширения без необходимости сборки на локальной машине.