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

Установка модулей PythonInstalling Python Modules

Электронная почта

distutils-sig@python.org

Будучи популярным проектом с открытым исходным кодом, Python имеет активное сообщество разработчиков и пользователей, которые также предоставляют своё программное обеспечение другим разработчикам Python для использования на условиях открытых лицензий.

Это позволяет пользователям Python эффективно обмениваться опытом и сотрудничать, извлекая пользу из решений, которые другие уже создали для общих (а иногда и редких!) проблем, а также потенциально внося свои собственные решения в общий пул.

Это руководство описывает часть процесса, связанную с установкой. Чтобы узнать о создании и публикации собственных проектов Python, обратитесь к руководству по распространению.

Примечание

Корпоративным и другим институциональным пользователям: следует знать, что многие организации имеют собственную политику в отношении использования и участия в программном обеспечении с открытым исходным кодом. Учитывайте такую политику при использовании инструментов распространения и установки, предоставляемых с Python.

Ключевые терминыKey terms

  • pip – предпочтительная программа установки. Начиная с Python 3.4, она по умолчанию включена в бинарные установщики Python.

  • Виртуальное окружение – это полуизолированное окружение Python, которое позволяет устанавливать пакеты для использования конкретным приложением, а не в масштабе всей системы.

  • venv – стандартный инструмент для создания виртуальных окружений, входящий в состав Python начиная с версии 3.3. С Python 3.4 он по умолчанию устанавливает pip во все создаваемые виртуальные окружения.

  • virtualenv – это сторонняя альтернатива (и предшественник) venv. Она позволяет использовать виртуальные окружения в версиях Python до 3.4, которые либо вообще не предоставляют venv, либо не могут автоматически установить pip в создаваемые окружения.

  • Python Packaging Index – это общедоступный репозиторий пакетов с открытым исходным кодом, доступных для использования другими пользователями Python.

  • Python Packaging Authority – это группа разработчиков и авторов документации, отвечающих за сопровождение и развитие стандартных инструментов упаковки и связанных стандартов метаданных и форматов файлов. Они поддерживают различные инструменты, документацию и трекеры задач как на GitHub, так и на Bitbucket.

  • distutils – это оригинальная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. Хотя прямое использование distutils постепенно прекращается, она заложила основу для современной инфраструктуры упаковки и распространения; она не только остаётся частью стандартной библиотеки, но и её название продолжает использоваться в других контекстах (например, в названии списка рассылки для координации разработки стандартов упаковки Python).

Устарело с версии 3.6: pyvenv был рекомендованным инструментом для создания виртуальных окружений в Python 3.3 и 3.4, и объявлен устаревшим в Python 3.6.

Изменено в версии 3.5: Теперь для создания виртуальных окружений рекомендуется использовать venv.

Базовое использование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 Packaging User Guide.

Создание виртуальных окружений выполняется с помощью модуля venv. Установка пакетов в активное виртуальное окружение использует команды, показанные выше.

Как …?How do I …?

Это краткие ответы или ссылки для некоторых распространённых задач.

… установить pip в версиях Python до 3.4?… install pip in versions of Python prior to Python 3.4?

Python начал включать pip только с версии 3.4. Для более ранних версий pip необходимо «загрузить» (bootstrapped), как описано в руководстве Python Packaging User Guide.

… установить пакеты только для текущего пользователя?… 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 используйте py загрузчик Python в сочетании с ключом -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 часто лучше использовать виртуальное окружение или установку для отдельного пользователя.

Pip не установленPip not installed

Возможно, что pip не устанавливается по умолчанию. Один из возможных способов исправления:

python -m ensurepip --default-pip

Существуют также дополнительные ресурсы для установки pip.

Установка бинарных расширенийInstalling binary extensions

Python традиционно в значительной степени полагался на распространение в исходных кодах, предполагая, что конечные пользователи будут компилировать модули расширения из исходников в процессе установки.

С введением поддержки двоичного формата wheel и возможности публиковать wheels как минимум для Windows и Mac OS X через Python Packaging Index, эта проблема, как ожидается, со временем уменьшится, поскольку пользователи смогут чаще устанавливать предварительно собранные расширения, а не собирать их самостоятельно.

Некоторые решения для установки научного программного обеспечения, которые ещё не доступны в виде предварительно собранных wheel-файлов, также могут помочь в получении других бинарных расширений без необходимости локальной сборки.