Содержание страницы
Установка модулей Python¶Installing Python modules
Будучи популярным проектом с открытым исходным кодом, Python имеет активное поддерживающее сообщество участников и пользователей, которые также делают своё программное обеспечение доступным для использования другими разработчиками Python на условиях открытых лицензий.
Это позволяет пользователям Python эффективно обмениваться опытом и сотрудничать, извлекая пользу из решений, которые другие уже создали для общих (а иногда и редких!) проблем, а также потенциально внося свои собственные решения в общий пул.
Это руководство описывает часть процесса, связанную с установкой. За руководством по созданию и распространению собственных проектов Python обращайтесь к Руководству пользователя по упаковке Python.
Примечание
Корпоративным и другим институциональным пользователям: следует знать, что многие организации имеют собственную политику в отношении использования и участия в программном обеспечении с открытым исходным кодом. Учитывайте такую политику при использовании инструментов распространения и установки, предоставляемых с Python.
Ключевые термины¶Key terms
pip – предпочтительная программа установки. Она по умолчанию входит в состав двоичных установщиков Python.
Виртуальное окружение – это полуизолированное окружение Python, которое позволяет устанавливать пакеты для использования конкретным приложением, а не в масштабе всей системы.
venv– стандартный инструмент для создания виртуальных окружений. По умолчанию он устанавливает pip во все создаваемые виртуальные окружения.virtualenv– это сторонняя альтернатива (и предшественник)venv.Индекс пакетов Python (PyPI) – это общедоступный репозиторий пакетов с открытым исходным кодом, доступных для использования другими пользователями Python.
Python Packaging Authority – это группа разработчиков и авторов документации, отвечающая за поддержку и развитие стандартных инструментов упаковки, а также соответствующих стандартов метаданных и форматов файлов. Они поддерживают различные инструменты, документацию и трекеры задач на GitHub.
Изменено в версии 3.5: Теперь для создания виртуальных окружений рекомендуется использовать venv.
Базовое использование¶Basic usage
Все стандартные инструменты упаковки предназначены для использования из командной строки.
Следующая команда установит последнюю версию модуля и его зависимости из PyPI:
python -m pip install SomePackage
Примечание
For POSIX users (including macOS and Linux users), the examples in this guide assume the use of a virtual environment.
Для пользователей Windows примеры в этом руководстве предполагают, что параметр изменения системной переменной среды PATH был выбран при установке Python.
Также можно указать точную или минимальную версию непосредственно в
командной строке. При использовании операторов сравнения, таких как >, < или других
специальных символов, интерпретируемых оболочкой, имя пакета и
версию следует заключать в двойные кавычки:
python -m pip install SomePackage==1.0.4 # конкретная версия
python -m pip install "SomePackage>=1.0.4" # минимальная версия
Обычно, если подходящий модуль уже установлен, попытка установить его снова не даст результата. Обновление существующих модулей необходимо запрашивать явно:
python -m pip install --upgrade SomePackage
Дополнительную информацию и ресурсы о pip и его возможностях можно найти в Руководстве пользователя по упаковке Python.
Создание виртуальных окружений выполняется с помощью модуля venv.
Установка пакетов в активное виртуальное окружение использует команды, показанные
выше.
Как …?¶How do I …?
Это краткие ответы или ссылки для некоторых распространённых задач.
… установить пакеты только для текущего пользователя?¶… 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, macOS и других POSIX-системах используйте версионированные команды Python
в сочетании с ключом -m для запуска соответствующей копии
pip:
python3 -m pip install SomePackage # Python 3 по умолчанию
python3.14 -m pip install SomePackage # конкретно Python 3.14
Также могут быть доступны соответствующим образом версионированные команды pip.
В Windows используйте py – средство запуска Python – в сочетании с ключом -m
:
py -3 -m pip install SomePackage # Python 3 по умолчанию
py -3.14 -m pip install SomePackage # конкретно Python 3.14
Распространённые проблемы установки¶Common installation issues
Установка в системный Python в Linux¶Installing 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 и возможности публиковать колеса через PyPI эта проблема уменьшается, так как пользователи всё чаще могут устанавливать готовые расширения, а не собирать их самостоятельно.
Некоторые из решений для установки научного ПО, которое ещё не доступно в виде готовых wheel-файлов, также могут помочь с получением других бинарных расширений без необходимости локальной сборки.