> **Источник:** https://python-all.ru/2.7/installing/index.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# Установка модулей Python

**Электронная почта**

[distutils-sig@python.org](https://python-all.ru/2.7/installing/index.html)

Будучи популярным проектом с открытым исходным кодом, Python имеет активное сообщество разработчиков и пользователей, которые также предоставляют своё программное обеспечение другим разработчикам Python для использования на условиях открытых лицензий.

Это позволяет пользователям Python эффективно обмениваться опытом и сотрудничать, извлекая пользу из решений, которые другие уже создали для общих (а иногда и редких!) проблем, а также потенциально внося свои собственные решения в общий пул.

Это руководство описывает часть процесса, связанную с установкой. Чтобы узнать о создании и публикации собственных проектов Python, обратитесь к [руководству по распространению](https://python-all.ru/2.7/distributing/index.html#distributing-index).

> **Примечание**
>
> Корпоративным и другим институциональным пользователям: следует знать, что многие организации имеют собственную политику в отношении использования и участия в программном обеспечении с открытым исходным кодом. Учитывайте такую политику при использовании инструментов распространения и установки, предоставляемых с Python.

## Ключевые термины

- `pip` – предпочтительная программа установки. Начиная с Python 2.7.9, она по умолчанию включается в двоичные установщики Python.
- Виртуальное окружение – это частично изолированная среда Python, позволяющая устанавливать пакеты для использования конкретным приложением, а не в масштабе всей системы.
- `virtualenv` – это сторонний инструмент для создания виртуальных окружений; по умолчанию он устанавливает `pip` во все создаваемые виртуальные окружения.
- [Python Packaging Index](https://python-all.ru/2.7/installing/index.html) – это общедоступный репозиторий пакетов с открытым исходным кодом, доступных для использования другими пользователями Python.
- [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).
- `distutils` – это оригинальная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. Хотя прямое использование `distutils` постепенно прекращается, она заложила основу для современной инфраструктуры упаковки и распространения; она не только остаётся частью стандартной библиотеки, но и её название продолжает использоваться в других контекстах (например, в названии списка рассылки для координации разработки стандартов упаковки Python).

## Базовое использование

Все стандартные инструменты упаковки предназначены для использования из командной строки.

Следующая команда установит последнюю версию модуля и его зависимости из Python Packaging Index:

```text
python -m pip install SomePackage
```

> **Примечание**
>
> Для пользователей POSIX (включая Mac OS X и Linux) в примерах этого руководства предполагается использование [виртуального окружения](https://python-all.ru/2.7/glossary.html#term-virtual-environment). Чтобы создать такие окружения, можно установить `virtualenv` с помощью pip (`pip install virtualenv`) или через системный менеджер пакетов (обычно называемый `virtualenv` или `python-virtualenv`).
>
> Для пользователей Windows примеры в этом руководстве предполагают, что параметр изменения системной переменной среды PATH был выбран при установке Python.

Также можно указать точную или минимальную версию непосредственно в командной строке. При использовании операторов сравнения, таких как `>`, `<` или других специальных символов, интерпретируемых оболочкой, имя пакета и версию следует заключать в двойные кавычки:

```text
python -m pip install SomePackage==1.0.4    # specific version
python -m pip install "SomePackage>=1.0.4"  # minimum version
```

Обычно, если подходящий модуль уже установлен, попытка установить его снова не даст результата. Обновление существующих модулей необходимо запрашивать явно:

```text
python -m pip install --upgrade SomePackage
```

Дополнительную информацию и ресурсы, касающиеся `pip` и его возможностей, можно найти в [Python Packaging User Guide](https://python-all.ru/2.7/installing/index.html).

> **См. также**
>
> [Руководство пользователя по упаковке Python: установка дистрибутивных пакетов Python](https://python-all.ru/2.7/installing/index.html)

## Как …?

Это краткие ответы или ссылки для некоторых распространённых задач.

### … установить `pip` в версиях Python до Python 2.7.9?

Python начал включать `pip` только с версии 2.7.9. Для более ранних версий `pip` требуется «загрузить» (bootstrapped), как описано в руководстве Python Packaging User Guide.

> **См. также**
>
> [Python Packaging User Guide: Требования к установке пакетов](https://python-all.ru/2.7/installing/index.html)

### … установить пакеты только для текущего пользователя?

Передача параметра `--user` в `python -m pip install` установит пакет только для текущего пользователя, а не для всех пользователей системы.

### … установить научные пакеты Python?

Ряд научных пакетов Python имеют сложные бинарные зависимости и в настоящее время нелегко устанавливаются напрямую с помощью `pip`. На данный момент пользователям часто проще установить эти пакеты [другими способами](https://python-all.ru/2.7/installing/index.html), чем пытаться устанавливать их с помощью `pip`.

> **См. также**
>
> [Руководство пользователя по упаковке Python: установка научных пакетов](https://python-all.ru/2.7/installing/index.html)

### … работать с несколькими версиями Python, установленными параллельно?

В Linux, Mac OS X и других POSIX-системах используйте версионированные команды Python в сочетании с флагом `-m` для запуска соответствующей копии `pip`:

```text
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`:

```text
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
```

## Распространённые проблемы установки

### Установка в системный Python в Linux

В системах Linux установка Python обычно является частью дистрибутива. Установка в эту установку Python требует прав root и может нарушить работу системного менеджера пакетов и других компонентов системы, если какой-либо компонент будет неожиданно обновлён с помощью `pip`.

В таких системах при установке пакетов с помощью `pip` часто лучше использовать виртуальное окружение или установку для отдельного пользователя.

### Pip не установлен

Возможно, что `pip` не устанавливается по умолчанию. Один из возможных способов исправления:

```text
python -m ensurepip --default-pip
```

Существуют также дополнительные ресурсы для [установки pip.](https://python-all.ru/2.7/installing/index.html)

### Установка бинарных расширений

Python традиционно в значительной степени полагался на распространение в исходных кодах, предполагая, что конечные пользователи будут компилировать модули расширения из исходников в процессе установки.

С введением поддержки двоичного формата `wheel` и возможности публиковать wheels как минимум для Windows и Mac OS X через Python Packaging Index, эта проблема, как ожидается, со временем уменьшится, поскольку пользователи смогут чаще устанавливать предварительно собранные расширения, а не собирать их самостоятельно.

Некоторые решения для установки [научного программного обеспечения](https://python-all.ru/2.7/installing/index.html), которое ещё не доступно в виде предварительно собранных `wheel`-файлов, также могут помочь в получении других бинарных расширений без необходимости их локальной сборки.

> **См. также**
>
> [Руководство пользователя по упаковке Python: Бинарные расширения](https://python-all.ru/2.7/installing/index.html)
