Spec-Zone.ru › Python 3.13

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

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

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

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

python -m ensurepip --default-pip

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

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

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

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

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

См. также

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

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

Spec-Zone.ru

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