Spec-Zone.ru › Python 3.12

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

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

distutils-sig@python.org

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

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

Это руководство посвящено этапу установки. Руководство по созданию и распространению собственных проектов Python см. в руководстве пользователя по упаковке Python.

Примечание

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

Основные термины

  • pip — рекомендуемая программа установки. Начиная с Python 3.4, она включена по умолчанию в установщики Python с бинарными файлами.
  • Виртуальное окружение — это частично изолированное окружение Python, позволяющее устанавливать пакеты для использования конкретным приложением, а не для всей системы.
  • venv — стандартный инструмент для создания виртуальных окружений, входящий в состав Python начиная с версии 3.3. Начиная с Python 3.4, он по умолчанию устанавливает pip во все создаваемые виртуальные окружения.
  • virtualenv — сторонняя альтернатива (и предшественник) venv. Она позволяет использовать виртуальные окружения в версиях Python до 3.4, в которых либо вообще отсутствует venv, либо невозможно автоматически установить pip в создаваемые окружения.
  • Индекс пакетов Python — это общедоступный репозиторий пакетов с открытыми лицензиями, предназначенных для использования другими пользователями Python.
  • Управление упаковкой Python — это группа разработчиков и авторов документации, отвечающая за сопровождение и развитие стандартных инструментов упаковки, а также связанных с ними стандартов метаданных и форматов файлов. Группа поддерживает различные инструменты, документацию и системы отслеживания ошибок на GitHub.
  • distutils — исходная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. Хотя прямое использование distutils постепенно прекращается, эта система заложила основу современной инфраструктуры упаковки и распространения. Она не только остаётся частью стандартной библиотеки, но и её название продолжает использоваться в других контекстах (например, в названии списка рассылки, предназначенного для координации разработки стандартов упаковки Python).

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

См. также

Руководство пользователя по упаковке Python: создание и использование виртуальных окружений

Основы использования

Все стандартные инструменты упаковки предназначены для использования из командной строки.

Следующая команда установит последнюю версию модуля и его зависимости из индекса пакетов Python:

python -m pip install SomePackage

Примечание

В примерах этого руководства для пользователей POSIX (включая пользователей macOS и Linux) предполагается использование виртуального окружения.

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

Можно также указать точную или минимальную версию непосредственно в командной строке. Если используются операторы сравнения, такие как >, <, или другие специальные символы, которые интерпретируются командной оболочкой, имя пакета и номер версии следует заключить в двойные кавычки:

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.

Виртуальные окружения создаются с помощью модуля venv. Для установки пакетов в активное виртуальное окружение используются приведённые выше команды.

См. также

Руководство пользователя по упаковке Python: установка распространяемых пакетов Python

Как …?

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

… установить pip в версиях Python до Python 3.4?

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

См. также

Руководство пользователя по упаковке Python: требования для установки пакетов

… установить пакеты только для текущего пользователя?

Передача параметра --user команде python -m pip install позволит установить пакет только для текущего пользователя, а не для всех пользователей системы.

… установить научные пакеты Python?

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

См. также

Руководство пользователя по упаковке Python: установка научных пакетов

… работать с несколькими версиями Python, установленными параллельно?

В Linux, macOS и других 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

Распространённые проблемы при установке

Установка в системный Python в Linux

В системах Linux Python обычно устанавливается в составе дистрибутива. Для установки в эту версию Python требуются права root. Если компонент неожиданно обновится с помощью pip, это может помешать работе системного менеджера пакетов и других компонентов системы.

В таких системах при установке пакетов с помощью pip зачастую лучше использовать виртуальное окружение или устанавливать пакеты для отдельного пользователя.

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

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

python -m ensurepip --default-pip

Дополнительные сведения об установке pip также доступны.

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

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

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

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

См. также

Руководство пользователя по упаковке Python: бинарные расширения

© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/installing/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API