index.md
1> **Источник:** https://python-all.ru/2.7/installing/index.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Установка модулей Python89**Электронная почта**1011[distutils-sig@python.org](https://python-all.ru/2.7/installing/index.html)1213Будучи популярным проектом с открытым исходным кодом, Python имеет активное сообщество разработчиков и пользователей, которые также предоставляют своё программное обеспечение другим разработчикам Python для использования на условиях открытых лицензий.1415Это позволяет пользователям Python эффективно обмениваться опытом и сотрудничать, извлекая пользу из решений, которые другие уже создали для общих (а иногда и редких!) проблем, а также потенциально внося свои собственные решения в общий пул.1617Это руководство описывает часть процесса, связанную с установкой. Чтобы узнать о создании и публикации собственных проектов Python, обратитесь к [руководству по распространению](https://python-all.ru/2.7/distributing/index.html#distributing-index).1819> **Примечание**20>21> Корпоративным и другим институциональным пользователям: следует знать, что многие организации имеют собственную политику в отношении использования и участия в программном обеспечении с открытым исходным кодом. Учитывайте такую политику при использовании инструментов распространения и установки, предоставляемых с Python.2223## Ключевые термины2425- `pip` – предпочтительная программа установки. Начиная с Python 2.7.9, она по умолчанию включается в двоичные установщики Python.26- Виртуальное окружение – это частично изолированная среда Python, позволяющая устанавливать пакеты для использования конкретным приложением, а не в масштабе всей системы.27- `virtualenv` – это сторонний инструмент для создания виртуальных окружений; по умолчанию он устанавливает `pip` во все создаваемые виртуальные окружения.28- [Python Packaging Index](https://python-all.ru/2.7/installing/index.html) – это общедоступный репозиторий пакетов с открытым исходным кодом, доступных для использования другими пользователями Python.29- [Python Packaging Authority](https://python-all.ru/2.7/installing/index.html) является группой разработчиков и авторов документации, отвечающих за поддержку и развитие стандартных инструментов упаковки, а также связанных метаданных и стандартов форматов файлов. Они поддерживают множество инструментов, документации и трекеров задач как на [GitHub](https://python-all.ru/2.7/installing/index.html) так и на [BitBucket](https://python-all.ru/2.7/installing/index.html).30- `distutils` – это оригинальная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. Хотя прямое использование `distutils` постепенно прекращается, она заложила основу для современной инфраструктуры упаковки и распространения; она не только остаётся частью стандартной библиотеки, но и её название продолжает использоваться в других контекстах (например, в названии списка рассылки для координации разработки стандартов упаковки Python).3132## Базовое использование3334Все стандартные инструменты упаковки предназначены для использования из командной строки.3536Следующая команда установит последнюю версию модуля и его зависимости из Python Packaging Index:3738```text39python -m pip install SomePackage40```4142> **Примечание**43>44> Для пользователей POSIX (включая Mac OS X и Linux) в примерах этого руководства предполагается использование [виртуального окружения](https://python-all.ru/2.7/glossary.html#term-virtual-environment). Чтобы создать такие окружения, можно установить `virtualenv` с помощью pip (`pip install virtualenv`) или через системный менеджер пакетов (обычно называемый `virtualenv` или `python-virtualenv`).45>46> Для пользователей Windows примеры в этом руководстве предполагают, что параметр изменения системной переменной среды PATH был выбран при установке Python.4748Также можно указать точную или минимальную версию непосредственно в командной строке. При использовании операторов сравнения, таких как `>`, `<` или других специальных символов, интерпретируемых оболочкой, имя пакета и версию следует заключать в двойные кавычки:4950```text51python -m pip install SomePackage==1.0.4 # specific version52python -m pip install "SomePackage>=1.0.4" # minimum version53```5455Обычно, если подходящий модуль уже установлен, попытка установить его снова не даст результата. Обновление существующих модулей необходимо запрашивать явно:5657```text58python -m pip install --upgrade SomePackage59```6061Дополнительную информацию и ресурсы, касающиеся `pip` и его возможностей, можно найти в [Python Packaging User Guide](https://python-all.ru/2.7/installing/index.html).6263> **См. также**64>65> [Руководство пользователя по упаковке Python: установка дистрибутивных пакетов Python](https://python-all.ru/2.7/installing/index.html)6667## Как …?6869Это краткие ответы или ссылки для некоторых распространённых задач.7071### … установить `pip` в версиях Python до Python 2.7.9?7273Python начал включать `pip` только с версии 2.7.9. Для более ранних версий `pip` требуется «загрузить» (bootstrapped), как описано в руководстве Python Packaging User Guide.7475> **См. также**76>77> [Python Packaging User Guide: Требования к установке пакетов](https://python-all.ru/2.7/installing/index.html)7879### … установить пакеты только для текущего пользователя?8081Передача параметра `--user` в `python -m pip install` установит пакет только для текущего пользователя, а не для всех пользователей системы.8283### … установить научные пакеты Python?8485Ряд научных пакетов Python имеют сложные бинарные зависимости и в настоящее время нелегко устанавливаются напрямую с помощью `pip`. На данный момент пользователям часто проще установить эти пакеты [другими способами](https://python-all.ru/2.7/installing/index.html), чем пытаться устанавливать их с помощью `pip`.8687> **См. также**88>89> [Руководство пользователя по упаковке Python: установка научных пакетов](https://python-all.ru/2.7/installing/index.html)9091### … работать с несколькими версиями Python, установленными параллельно?9293В Linux, Mac OS X и других POSIX-системах используйте версионированные команды Python в сочетании с флагом `-m` для запуска соответствующей копии `pip`:9495```text96python2 -m pip install SomePackage # default Python 297python2.7 -m pip install SomePackage # specifically Python 2.798python3 -m pip install SomePackage # default Python 399python3.4 -m pip install SomePackage # specifically Python 3.4100```101102(соответствующие версионированные команды `pip` также могут быть доступны)103104В Windows используйте `py` загрузчик Python в сочетании с ключом `-m`:105106```text107py -2 -m pip install SomePackage # default Python 2108py -2.7 -m pip install SomePackage # specifically Python 2.7109py -3 -m pip install SomePackage # default Python 3110py -3.4 -m pip install SomePackage # specifically Python 3.4111```112113## Распространённые проблемы установки114115### Установка в системный Python в Linux116117В системах Linux установка Python обычно является частью дистрибутива. Установка в эту установку Python требует прав root и может нарушить работу системного менеджера пакетов и других компонентов системы, если какой-либо компонент будет неожиданно обновлён с помощью `pip`.118119В таких системах при установке пакетов с помощью `pip` часто лучше использовать виртуальное окружение или установку для отдельного пользователя.120121### Pip не установлен122123Возможно, что `pip` не устанавливается по умолчанию. Один из возможных способов исправления:124125```text126python -m ensurepip --default-pip127```128129Существуют также дополнительные ресурсы для [установки pip.](https://python-all.ru/2.7/installing/index.html)130131### Установка бинарных расширений132133Python традиционно в значительной степени полагался на распространение в исходных кодах, предполагая, что конечные пользователи будут компилировать модули расширения из исходников в процессе установки.134135С введением поддержки двоичного формата `wheel` и возможности публиковать wheels как минимум для Windows и Mac OS X через Python Packaging Index, эта проблема, как ожидается, со временем уменьшится, поскольку пользователи смогут чаще устанавливать предварительно собранные расширения, а не собирать их самостоятельно.136137Некоторые решения для установки [научного программного обеспечения](https://python-all.ru/2.7/installing/index.html), которое ещё не доступно в виде предварительно собранных `wheel`-файлов, также могут помочь в получении других бинарных расширений без необходимости их локальной сборки.138139> **См. также**140>141> [Руководство пользователя по упаковке Python: Бинарные расширения](https://python-all.ru/2.7/installing/index.html)142