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

Электронная почта

distutils-sig@python.org

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

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

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

Примечание

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

Ключевые термины

  • pip является предпочтительной программой установки. Начиная с Python 3.4, она включается по умолчанию в состав бинарных инсталляторов Python.

  • Виртуальная среда* - это полуизолированная среда Python, которая позволяет устанавливать пакеты для использования конкретным приложением, а не устанавливать их на всю систему.

  • venv является стандартным инструментом для создания виртуальных сред и входит в состав Python начиная с Python 3.3. Начиная с Python 3.4, по умолчанию устанавливается pip во все созданные виртуальные среды.

  • virtualenv - это альтернатива (и предшественник) venv от третьего лица. Она позволяет использовать виртуальные среды на версиях Python до 3.4, которые либо вообще не предоставляют venv, либо не могут автоматически установить pip в созданные среды.

  • Python Package Index - это публичное хранилище лицензированных пакетов с открытым исходным кодом, доступных для использования другими пользователями Python.

  • Python Packaging Authority - это группа разработчиков и авторов документации, отвечающая за поддержку и развитие стандартных инструментов упаковки и связанных с ними стандартов метаданных и форматов файлов. Они поддерживают различные инструменты, документацию и трекеры проблем как на GitHub, так и на Bitbucket.

  • distutils - это оригинальная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. Хотя прямое использование distutils в настоящее время постепенно прекращается, она заложила основу для текущей инфраструктуры упаковки и распространения, и не только остается частью стандартной библиотеки, но и ее имя продолжает жить другими способами (например, как название списка рассылки, используемого для координации разработки стандартов упаковки Python).

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

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

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

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

python -m pip install SomePackage

Примечание

Для пользователей POSIX (включая пользователей macOS и Linux) примеры в этом руководстве предполагают использование virtual environment.

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

Также можно указать точную или минимальную версию непосредственно в командной строке. При использовании операторов сравнения, таких как >, < или других специальных символов, которые интерпретируются shell, имя пакета и версия должны быть заключены в двойные кавычки:

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 Packaging User Guide.

Создание виртуальных сред осуществляется с помощью модуля venv. Для установки пакетов в активную виртуальную среду используются команды, показанные выше.

Как мне …?

Это краткие ответы или ссылки на некоторые общие задачи.

… установить pip в версиях Python до Python 3.4?

Python начал поставлять pip только с Python 3.4. Для более ранних версий pip необходимо «загружать», как описано в руководстве пользователя по упаковке Python.

… устанавливать пакеты только для текущего пользователя?

Передача опции --user в python -m pip install приведет к установке пакета только для текущего пользователя, а не для всех пользователей системы.

… установить научные пакеты Python?

Ряд научных пакетов Python имеет сложные двоичные зависимости, и в настоящее время их нелегко установить, используя pip напрямую. В настоящее время пользователям часто проще установить эти пакеты с помощью other means, чем пытаться установить их с помощью 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

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

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

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

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

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

Вернуться на верх