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