Документация Python неофициальный перевод
Содержание страницы

Установка модулей PythonInstalling 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 в LinuxInstalling 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, также могут помочь получить другие бинарные расширения без необходимости сборки на локальной машине.