Установка модулей Python
Как популярный проект с открытым исходным кодом, 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.
- Группа разработчиков и авторов документации Python Packaging Authority отвечает за обслуживание и развитие стандартных инструментов упаковки, а также связанных метаданных и форматов файлов. Они поддерживают различные инструменты, документацию и трекеры задач на GitHub и Bitbucket.
-
distutils— оригинальная система сборки и распространения, первоначально добавленная в стандартную библиотеку Python в 1998 году. Хотя прямое использованиеdistutilsпостепенно отмирает, она заложила основу для современной инфраструктуры упаковки и распространения, и она не только остаётся частью стандартной библиотеки, но и её имя сохраняется в других форматах (например, в названии списка рассылки, используемого для координации разработки стандартов упаковки Python).
Изменено в версии 3.5: Для создания виртуальных сред рекомендуется использовать venv.
Базовое использование
Все стандартные инструменты упаковки предназначены для использования из командной строки.
Следующая команда установит последнюю версию модуля и его зависимости из Python Package Index:
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. Установка пакетов в активную виртуальную среду выполняется с помощью команд, показанных выше.
Как я могу…?
Здесь представлены быстрые ответы или ссылки для некоторых распространённых задач.
… установить pip в версиях Python до Python 3.4?
Python начал включать pip в Python 3.4. Для более ранних версий pip необходимо «запустить» как описано в Руководстве пользователя по упаковке Python.
… установить пакеты только для текущего пользователя?
Передача параметра --user в python -m pip install установит пакет только для текущего пользователя, а не для всех пользователей системы.
… установить научные пакеты Python?
Ряд научных пакетов Python имеют сложные зависимости бинарных файлов и в настоящее время нелегко устанавливаются с помощью pip напрямую. На данный момент будет проще установить эти пакеты с помощью других методов, чем пытаться установить их с помощью pip.
… работать с несколькими версиями 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 и возможности публикации пакетов wheel для Windows и macOS через Python Package Index, эта проблема, как ожидается, со временем уменьшится, так как пользователи всё чаще смогут устанавливать готовые расширения, а не будут нуждаться в их сборке.
Некоторые решения для установки научного программного обеспечения, которые ещё не доступны в виде готовых файлов wheel также могут помочь в получении других бинарных расширений без необходимости их сборки локально.
© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.9/installing/index.html