Установка модулей 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, так и на Bitbucket.
distutils
- это оригинальная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. Хотя прямое использованиеdistutils
постепенно прекращается, оно по-прежнему закладывает основу для текущей инфраструктуры упаковки и распространения, и оно не только остается частью стандартной библиотеки, но и используется в других целях (например, как название списка рассылки, используемого для координации Разработка стандартов упаковки на Python).
Изменено в версии 3.5: Для создания виртуальных сред теперь рекомендуется использовать venv
.
Основное использование¶
Все стандартные средства упаковки предназначены для использования из командной строки.
Следующая команда установит последнюю версию модуля и его зависимостей из индекса пакета Python:
python -m pip install SomePackage
Примечание
Для пользователей POSIX (включая пользователей macOS и Linux) в примерах в этом руководстве предполагается использование virtual environment.
Для пользователей Windows в примерах, приведенных в этом руководстве, предполагается, что при установке Python была выбрана опция настройки переменной среды system 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 Packaging User Guide.
Создание виртуальных сред осуществляется с помощью модуля venv
. При установке пакетов в активную виртуальную среду используются команды, показанные выше.
Как мне…?¶
Это краткие ответы или ссылки на некоторые распространенные задачи.
… установить pip
в версиях Python, предшествующих Python 3.4?¶
Python начал комплектоваться pip
только с Python 3.4. Для более ранних версий pip
необходимо «загрузить», как описано в руководстве пользователя по упаковке Python.
… устанавливать пакеты только для текущего пользователя?¶
При замене параметра --user
на python -m pip install
пакет будет установлен только для текущего пользователя, а не для всех пользователей системы.
… устанавливаете пакеты scientific Python?¶
Ряд пакетов scientific 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
и возможностью публикации wheels, по крайней мере, для Windows и macOS, через индекс пакетов Python, эта проблема со временем уменьшится, поскольку пользователи смогут более регулярно устанавливать готовые расширения, вместо того, чтобы делать это самостоятельно. стройте их сами.
Некоторые решения для установки scientific software, которые еще не доступны в виде готовых файлов wheel
, могут также помочь с получением других двоичных расширений без необходимости их локальной сборки.