Установка модулей Python¶
- Электронная почта:
Будучи популярным проектом разработки с открытым исходным кодом, Python имеет активное сообщество разработчиков и пользователей, которые также предоставляют свое программное обеспечение другим разработчикам Python для использования на условиях лицензии с открытым исходным кодом.
Это позволяет пользователям Python эффективно обмениваться информацией и сотрудничать, пользуясь уже созданными другими решениями общих (а иногда и редких!) проблем, а также внося свой вклад в общий пул.
Это руководство охватывает часть процесса установки. Руководство по созданию и совместному использованию собственных проектов Python см. в Python packaging user 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.
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 используйте py
Python в сочетании с переключателем -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
файлов, также могут помочь в получении других бинарных расширений без необходимости их локальной сборки.