Содержание страницы
Установка модулей Python¶Installing Python Modules
- Электронная почта
Будучи популярным проектом с открытым исходным кодом, Python имеет активное сообщество разработчиков и пользователей, которые также предоставляют своё программное обеспечение другим разработчикам Python для использования на условиях открытых лицензий.
Это позволяет пользователям Python эффективно обмениваться опытом и сотрудничать, извлекая пользу из решений, которые другие уже создали для общих (а иногда и редких!) проблем, а также потенциально внося свои собственные решения в общий пул.
Это руководство описывает часть процесса, связанную с установкой. Чтобы узнать о создании и публикации собственных проектов Python, обратитесь к руководству по распространению.
Примечание
Корпоративным и другим институциональным пользователям: следует знать, что многие организации имеют собственную политику в отношении использования и участия в программном обеспечении с открытым исходным кодом. Учитывайте такую политику при использовании инструментов распространения и установки, предоставляемых с Python.
Ключевые термины¶Key terms
pip– предпочтительная программа установки. Начиная с Python 3.4, она по умолчанию включена в бинарные установщики Python.Виртуальное окружение – это полуизолированное окружение Python, которое позволяет устанавливать пакеты для использования конкретным приложением, а не в масштабе всей системы.
venv– стандартный инструмент для создания виртуальных окружений, входящий в состав Python начиная с версии 3.3. С Python 3.4 он по умолчанию устанавливаетpipво все создаваемые виртуальные окружения.virtualenv– это сторонняя альтернатива (и предшественник)venv. Она позволяет использовать виртуальные окружения в версиях Python до 3.4, которые либо вообще не предоставляютvenv, либо не могут автоматически установитьpipв создаваемые окружения.Python Packaging Index – это общедоступный репозиторий пакетов с открытым исходным кодом, доступных для использования другими пользователями Python.
Python Packaging Authority – это группа разработчиков и авторов документации, отвечающих за сопровождение и развитие стандартных инструментов упаковки и связанных стандартов метаданных и форматов файлов. Они поддерживают различные инструменты, документацию и трекеры задач как на GitHub, так и на Bitbucket.
distutils– это оригинальная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. Хотя прямое использованиеdistutilsпостепенно прекращается, она заложила основу для современной инфраструктуры упаковки и распространения; она не только остаётся частью стандартной библиотеки, но и её название продолжает использоваться в других контекстах (например, в названии списка рассылки для координации разработки стандартов упаковки Python).
Устарело с версии 3.6: pyvenv был рекомендованным инструментом для создания виртуальных окружений в Python 3.3 и 3.4, и объявлен устаревшим в Python 3.6.
Изменено в версии 3.5: Теперь для создания виртуальных окружений рекомендуется использовать venv.
Базовое использование¶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.
Создание виртуальных окружений выполняется с помощью модуля venv.
Установка пакетов в активное виртуальное окружение использует команды, показанные
выше.
Как …?¶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 часто лучше использовать виртуальное окружение или установку для отдельного пользователя.
Pip не установлен¶Pip not installed
Возможно, что pip не устанавливается по умолчанию. Один из возможных способов исправления:
python -m ensurepip --default-pip
Существуют также дополнительные ресурсы для установки pip.
Установка бинарных расширений¶Installing binary extensions
Python традиционно в значительной степени полагался на распространение в исходных кодах, предполагая, что конечные пользователи будут компилировать модули расширения из исходников в процессе установки.
С введением поддержки двоичного формата wheel и
возможности публиковать wheels как минимум для Windows и Mac OS X через
Python Packaging Index, эта проблема, как ожидается, со временем уменьшится,
поскольку пользователи смогут чаще устанавливать предварительно собранные расширения,
а не собирать их самостоятельно.
Некоторые решения для установки научного программного обеспечения, которые ещё не доступны в виде предварительно собранных wheel-файлов, также могут помочь в получении других бинарных расширений без необходимости локальной сборки.