Содержание страницы
Установка модулей Python¶Installing Python Modules
| Эл. почта: | distutils-sig@python.org |
|---|
Будучи популярным проектом с открытым исходным кодом, Python имеет активное сообщество разработчиков и пользователей, которые также предоставляют своё программное обеспечение другим разработчикам Python для использования на условиях открытых лицензий.
Это позволяет пользователям Python эффективно обмениваться опытом и сотрудничать, извлекая пользу из решений, которые другие уже создали для общих (а иногда и редких!) проблем, а также потенциально внося свои собственные решения в общий пул.
Это руководство описывает часть процесса, связанную с установкой. Чтобы узнать о создании и публикации собственных проектов Python, обратитесь к руководству по распространению.
Примечание
Корпоративным и другим институциональным пользователям: следует знать, что многие организации имеют собственную политику в отношении использования и участия в программном обеспечении с открытым исходным кодом. Учитывайте такую политику при использовании инструментов распространения и установки, предоставляемых с Python.
Ключевые термины¶Key terms
pip– предпочтительная программа установки. Начиная с Python 3.4, она по умолчанию включена в бинарные установщики Python.- Виртуальное окружение – это частично изолированная среда Python, позволяющая устанавливать пакеты для использования конкретным приложением, а не в масштабе всей системы.
pyvenv– это стандартный инструмент для создания виртуальных окружений, который входит в состав Python начиная с версии 3.3. Начиная с Python 3.4, по умолчанию он устанавливаетpipво все создаваемые виртуальные окружения.virtualenv– это сторонняя альтернатива (и предшественник)pyvenv. Она позволяет использовать виртуальные окружения в версиях Python до 3.4, которые либо вообще не предоставляютpyvenv, либо не могут автоматически установитьpipв создаваемые окружения.- Python Packaging Index – это общедоступный репозиторий пакетов с открытым исходным кодом, доступных для использования другими пользователями Python
- Python Packaging Authority является группой разработчиков и авторов документации, отвечающих за поддержку и развитие стандартных инструментов упаковки, а также связанных метаданных и стандартов форматов файлов. Они поддерживают множество инструментов, документации и трекеров задач как на GitHub так и на BitBucket.
distutils– это оригинальная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. Хотя прямое использованиеdistutilsпостепенно прекращается, она заложила основу для современной инфраструктуры упаковки и распространения; она не только остаётся частью стандартной библиотеки, но и её название продолжает использоваться в других контекстах (например, в названии списка рассылки для координации разработки стандартов упаковки Python).
Базовое использование¶Basic usage
Все стандартные инструменты упаковки предназначены для использования из командной строки.
Следующая команда установит последнюю версию модуля и его зависимости из Python Packaging Index:
python -m pip install SomePackage
Примечание
Для пользователей POSIX (включая пользователей Mac OS X и Linux) примеры в этом руководстве предполагают использование виртуального окружения.
Для пользователей Windows примеры в этом руководстве предполагают, что параметр изменения системной переменной среды PATH был выбран при установке Python.
Также можно указать точную или минимальную версию непосредственно в
командной строке. При использовании операторов сравнения, таких как >, < или других
специальных символов, интерпретируемых оболочкой, имя пакета и
версию следует заключать в двойные кавычки:
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.
pyvenv имеет собственную документацию: pyvenv - Создание виртуальных окружений. Установка
в активное виртуальное окружение выполняется с помощью команд, показанных выше.
Как …?¶How do I …?
Это краткие ответы или ссылки для некоторых распространённых задач.
… установить pip в версиях Python до 3.4?¶… install pip in versions of Python prior to Python 3.4?
Python начал включать pip только с версии 3.4. Для более ранних версий pip необходимо «загрузить» (bootstrapped), как описано в руководстве Python Packaging User Guide.
… установить пакеты только для текущего пользователя?¶… install packages just for the current user?
Передача параметра --user в python -m pip install установит пакет
только для текущего пользователя, а не для всех пользователей системы.
… установить научные пакеты Python?¶… install scientific Python packages?
Ряд научных пакетов Python имеют сложные бинарные зависимости и в настоящее время нелегко устанавливаются напрямую с помощью pip. На данный момент пользователям часто проще установить эти пакеты другими способами, чем пытаться устанавливать их с помощью pip.
… работать с несколькими версиями Python, установленными параллельно?¶… work with multiple versions of Python installed in parallel?
В Linux, Mac OS X и других 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
Распространённые проблемы установки¶Common installation issues
Установка в системный Python в Linux¶Installing into the system Python on Linux
В системах Linux установка Python обычно является частью дистрибутива. Установка в эту установку Python требует прав root и может нарушить работу системного менеджера пакетов и других компонентов системы, если какой-либо компонент будет неожиданно обновлён с помощью pip.
В таких системах при установке пакетов с помощью pip часто лучше использовать виртуальное окружение или установку для отдельного пользователя.
Установка бинарных расширений¶Installing binary extensions
Python традиционно в значительной степени полагался на распространение в исходных кодах, предполагая, что конечные пользователи будут компилировать модули расширения из исходников в процессе установки.
С введением поддержки двоичного формата wheel и
возможности публиковать wheels как минимум для Windows и Mac OS X через
Python Packaging Index, эта проблема, как ожидается, со временем уменьшится,
поскольку пользователи смогут чаще устанавливать предварительно собранные расширения,
а не собирать их самостоятельно.
Некоторые решения для установки научного программного обеспечения,
которое ещё не доступно в виде предварительно собранных wheel-файлов, также могут помочь
в получении других бинарных расширений без необходимости их локальной сборки.