Spec-Zone.ru › Python 3.8

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

Email

distutils-sig@python.org

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

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

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

Примечание

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

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

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

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

См. также

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

Основное использование

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

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

python -m pip install SomePackage

Примечание

Для пользователей POSIX (включая пользователей Mac OS X и 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, 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

Общие проблемы с установкой

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

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

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

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

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

python -m ensurepip --default-pip

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

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

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

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

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

См. также

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

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

Spec-Zone.ru

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