Установка модулей 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 Package Index) — общедоступный репозиторий пакетов с открытым исходным кодом, доступный для использования другими пользователями Python.
- Организация Python Packaging Authority (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 требует прав root, и может повлиять на работу системного менеджера пакетов и других компонентов системы, если компонент неожиданно обновлён с помощью pip.
В таких системах часто лучше использовать виртуальную среду или установку для текущего пользователя при установке пакетов с помощью pip.
Pip не установлен
Возможна ситуация, когда pip не устанавливается по умолчанию. Одним из возможных решений является:
python -m ensurepip --default-pip
Также существуют дополнительные ресурсы для установки pip.
Установка бинарных расширений
Python в основном полагался на распространение исходного кода, при этом пользователи ожидали, что модули расширений будут скомпилированы из исходного кода как часть процесса установки.
С введением поддержки бинарного формата wheel и возможности публикации wheel-файлов для Windows и macOS через Python Package Index эта проблема должна со временем уменьшиться, так как пользователи будут чаще устанавливать готовые расширения, а не нуждаться в их сборке самостоятельно.
Некоторые решения для установки научного программного обеспечения, которые пока недоступны в виде готовых wheel файлов, также могут помочь в получении других бинарных расширений без необходимости их сборки локально.
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/installing/index.html