Установка модулей Python¶
- Электронная почта
Будучи популярным проектом разработки с открытым исходным кодом, 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
, могут также помочь в получении других бинарных расширений без необходимости собирать их локально.