Установка модулей Python¶
Email: | distutils-sig@python.org |
---|
Как популярный проект разработки с открытым исходным кодом, Python имеет активное поддерживающее сообщество участников и пользователей, которые также делают свое программное обеспечение доступным для других разработчиков Python для использования на условиях лицензии с открытым исходным кодом.
Это позволяет Python пользователям эффективно обмениваться информацией и сотрудничать, извлекая выгоду из решений, которые другие уже создали для решения общих (а иногда даже редких!) проблем, а также потенциально внося свой вклад в создание общего пула.
В данном руководстве рассматривается часть процесса установки. Руководство по созданию и совместному использованию собственных проектов Python см. в руководстве по распространению.
Примечание
Для корпоративных и других учрежденческих пользователей следует иметь в виду, что многие организации имеют свою собственную политику использования программного обеспечения с открытым исходным кодом и внесения вклада в него. Пожалуйста, учитывайте такие политики при использовании средств распространения и установки, поставляемых с Python.
Ключевые термины¶
pip
является предпочтительной программой установки. Начиная с версии Python 3.4, он по умолчанию входит в состав Python бинарных установщиков.- виртуальная среда - это полуавтономная среда Python, которая позволяет устанавливать пакеты для использования определенным приложением, а не для установки в масштабах всей системы.
venv
является стандартным инструментом для создания виртуальных сред и является частью Python начиная с Python 3.3. Начиная с версии Python 3.4, по умолчанию устанавливаетсяpip
во все созданные виртуальные среды.virtualenv
является сторонней альтернативой (и предшественником)venv
. Он позволяет используемый виртуальные среды на версиях Python до 3.4, которые либо вообще не предоставляютvenv
, либо не могут автоматически устанавливатьpip
в созданные среды.- Пакетный индекс Python является публичным хранилищем лицензионных пакетов с открытым исходным кодом, доступных для использования другими пользователями Python.
- Комитет по пакетам в Python является группой разработчиков и авторов документации, ответственных за обслуживание и развитие стандартных средств пакетизации и связанных с ними стандартов метаданных и форматов файлов. Они поддерживают различные инструменты, документацию и трекеры проблем как на GitHub, так и на Bitbucket.
distutils
- это исходная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. В то время как прямое использованиеdistutils
постепенно прекращается, оно по-прежнему закладывает основу для нынешней инфраструктуры пакетизации и распространения, и оно не только остается частью стандартной библиотеки, но и его название живет по- другому (например, название списка рассылки используемый для координации Python разработки стандартов пакетизации).
Изменено в версии 3.5: Теперь для создания виртуальных сред рекомендуется использовать venv
.
Базовое использование¶
Все стандартные инструменты пакетизации предназначены для использования из командной строки.
Следующая команда установит последнюю версию модуля и его зависимостей из Пакетного индекса Python (PIP):
python -m pip install SomePackage
Примечание
Для пользователей POSIX (включая пользователей Mac OS X и Linux) примеры в этом руководстве предполагают использование виртуальной среды.
Для пользователей Windows в примерах этого руководства предполагается, что при установке Python была выбрана опция настройки системной переменной среды PATH.
Также можно указать точную или минимальную версию непосредственно в командной
строке. При использовании операторов сравнения, таких как >
,
<
или некоторые другие специальные символы, которые
интерпретируются оболочкой, имя пакета и версия должны быть заключены в двойные
кавычки:
python -m pip install SomePackage==1.0.4 # конкретная версия
python -m pip install "SomePackage>=1.0.4" # минимальная версия
Как правило, если подходящий модуль уже установлен, попытка его повторной установки не будет иметь никаких последствий. Необходимо явно запросить обновление существующих модулей:
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, Mac OS X и других системах POSIX используйте команды версионированного
Python в сочетании с коммутатором -m
для запуска соответствующей
копии pip
:
python2 -m pip install SomePackage # по умолчанию Python 2
python2.7 -m pip install SomePackage # конкретно Python 2.7
python3 -m pip install SomePackage # по умолчанию Python 3
python3.4 -m pip install SomePackage # конкретно Python 3.4
Также могут быть доступны команды pip
с соответствующей версией.
В Windows используйте средство запуска py
Python в сочетании с
переключателем -m
:
py -2 -m pip install SomePackage # по умолчанию Python 2
py -2.7 -m pip install SomePackage # конкретно Python 2.7
py -3 -m pip install SomePackage # по умолчанию Python 3
py -3.4 -m pip install SomePackage # конкретно Python 3.4
Распространенные проблемы установки¶
Установка в систему Python в Linux¶
В системах Linux Python установка обычно включается в дистрибутив. Установка
в этот Python требует доступа root к системе и может помешать работе
диспетчера пакетов системы и других компонентов системы, если компонент
неожиданно обновлен с помощью pip
.
В таких системах часто при установке пакетов с pip
лучше использовать
виртуальную среду или пользовательскую установку.
Pip не установлен¶
Возможно, что pip
не будет установлен по умолчанию. Одним из возможных
исправлений является:
python -m ensurepip --default-pip
Имеются также дополнительные ресурсы для установки pip.
Установка двоичных расширений¶
Python, как правило, в значительной степени полагается на распределение на основе сорцов, при этом конечные пользователи должны компилировать модули расширения из источника в рамках процесса установки.
С введением поддержки двоичного формата wheel
, и возможностью публикации
wheels по крайней мере для Windows и Mac OS X через Пакетный Индекс Python (PIP),
эта проблема, как ожидается, со временем уменьшится, так как пользователи более
регулярно могут устанавливать предварительно построенные расширения, а не должны
строить их сами.
Некоторые решения для установки научное программное обеспечение,
которые еще не доступны как предварительно собранные файлы wheel
, могут также помочь с получением
других двоичных расширений без необходимости их локальной сборки.