index.md
1> **Источник:** https://python-all.ru/3.6/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/3.6/installing/index.html)1213Будучи популярным проектом с открытым исходным кодом, Python имеет активное сообщество разработчиков и пользователей, которые также предоставляют своё программное обеспечение другим разработчикам Python для использования на условиях открытых лицензий.1415Это позволяет пользователям Python эффективно обмениваться опытом и сотрудничать, извлекая пользу из решений, которые другие уже создали для общих (а иногда и редких!) проблем, а также потенциально внося свои собственные решения в общий пул.1617Это руководство описывает часть процесса, связанную с установкой. Чтобы узнать о создании и публикации собственных проектов Python, обратитесь к [руководству по распространению](https://python-all.ru/3.6/distributing/index.html#distributing-index).1819> **Примечание**20>21> Корпоративным и другим институциональным пользователям: следует знать, что многие организации имеют собственную политику в отношении использования и участия в программном обеспечении с открытым исходным кодом. Учитывайте такую политику при использовании инструментов распространения и установки, предоставляемых с Python.2223## Ключевые термины2425- `pip` – предпочтительная программа установки. Начиная с Python 3.4, она по умолчанию включена в бинарные установщики Python.26- *Виртуальное окружение* – это полуизолированное окружение Python, которое позволяет устанавливать пакеты для использования конкретным приложением, а не в масштабе всей системы.27- `venv` – стандартный инструмент для создания виртуальных окружений, входящий в состав Python начиная с версии 3.3. С Python 3.4 он по умолчанию устанавливает `pip` во все создаваемые виртуальные окружения.28- `virtualenv` – это сторонняя альтернатива (и предшественник) `venv`. Она позволяет использовать виртуальные окружения в версиях Python до 3.4, которые либо вообще не предоставляют `venv`, либо не могут автоматически установить `pip` в создаваемые окружения.29- [Python Packaging Index](https://python-all.ru/3.6/installing/index.html) – это общедоступный репозиторий пакетов с открытым исходным кодом, доступных для использования другими пользователями Python.30- [Python Packaging Authority](https://python-all.ru/3.6/installing/index.html) – это группа разработчиков и авторов документации, отвечающих за поддержку и развитие стандартных инструментов упаковки, а также связанных метаданных и стандартов форматов файлов. Они поддерживают различные инструменты, документацию и трекеры вопросов как на [GitHub](https://python-all.ru/3.6/installing/index.html), так и на [BitBucket](https://python-all.ru/3.6/installing/index.html).31- `distutils` – это оригинальная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. Хотя прямое использование `distutils` постепенно прекращается, она заложила основу для современной инфраструктуры упаковки и распространения; она не только остаётся частью стандартной библиотеки, но и её название продолжает использоваться в других контекстах (например, в названии списка рассылки для координации разработки стандартов упаковки Python).3233Устарело с версии 3.6: `pyvenv` был рекомендованным инструментом для создания виртуальных окружений в Python 3.3 и 3.4, и [объявлен устаревшим в Python 3.6](https://python-all.ru/3.6/dev/whatsnew/3.6.html#deprecated-features).3435Изменено в версии 3.5: Теперь для создания виртуальных окружений рекомендуется использовать `venv`.3637> **См. также**38>39> [Руководство пользователя по упаковке Python: создание и использование виртуальных окружений](https://python-all.ru/3.6/installing/index.html)4041## Базовое использование4243Все стандартные инструменты упаковки предназначены для использования из командной строки.4445Следующая команда установит последнюю версию модуля и его зависимости из Python Packaging Index:4647```text48python -m pip install SomePackage49```5051> **Примечание**52>53> Для пользователей POSIX (включая пользователей Mac OS X и Linux) примеры в этом руководстве предполагают использование [виртуального окружения](https://python-all.ru/3.6/glossary.html#term-virtual-environment).54>55> Для пользователей Windows примеры в этом руководстве предполагают, что параметр изменения системной переменной среды PATH был выбран при установке Python.5657Также можно указать точную или минимальную версию непосредственно в командной строке. При использовании операторов сравнения, таких как `>`, `<` или других специальных символов, интерпретируемых оболочкой, имя пакета и версию следует заключать в двойные кавычки:5859```text60python -m pip install SomePackage==1.0.4 # specific version61python -m pip install "SomePackage>=1.0.4" # minimum version62```6364Обычно, если подходящий модуль уже установлен, попытка установить его снова не даст результата. Обновление существующих модулей необходимо запрашивать явно:6566```text67python -m pip install --upgrade SomePackage68```6970Дополнительную информацию и ресурсы, касающиеся `pip` и его возможностей, можно найти в [Python Packaging User Guide](https://python-all.ru/3.6/installing/index.html).7172Создание виртуальных окружений выполняется с помощью модуля [`venv`](https://python-all.ru/3.6/library/venv.html#module-venv). Установка пакетов в активное виртуальное окружение использует команды, показанные выше.7374> **См. также**75>76> [Руководство пользователя по упаковке Python: установка дистрибутивных пакетов Python](https://python-all.ru/3.6/installing/index.html)7778## Как …?7980Это краткие ответы или ссылки для некоторых распространённых задач.8182### … установить `pip` в версиях Python до 3.4?8384Python начал включать `pip` только с версии 3.4. Для более ранних версий `pip` необходимо «загрузить» (bootstrapped), как описано в руководстве Python Packaging User Guide.8586> **См. также**87>88> [Python Packaging User Guide: Требования к установке пакетов](https://python-all.ru/3.6/installing/index.html)8990### … установить пакеты только для текущего пользователя?9192Передача параметра `--user` в `python -m pip install` установит пакет только для текущего пользователя, а не для всех пользователей системы.9394### … установить научные пакеты Python?9596Ряд научных пакетов Python имеют сложные бинарные зависимости и в настоящее время нелегко устанавливаются напрямую с помощью `pip`. На данный момент пользователям часто проще установить эти пакеты [другими способами](https://python-all.ru/3.6/installing/index.html), чем пытаться устанавливать их с помощью `pip`.9798> **См. также**99>100> [Руководство пользователя по упаковке Python: установка научных пакетов](https://python-all.ru/3.6/installing/index.html)101102### … работать с несколькими версиями Python, установленными параллельно?103104В Linux, Mac OS X и других POSIX-системах используйте версионированные команды Python в сочетании с ключом `-m` для запуска соответствующей копии `pip`:105106```text107python2 -m pip install SomePackage # default Python 2108python2.7 -m pip install SomePackage # specifically Python 2.7109python3 -m pip install SomePackage # default Python 3110python3.4 -m pip install SomePackage # specifically Python 3.4111```112113Также могут быть доступны соответствующим образом версионированные команды `pip`.114115В Windows используйте `py` загрузчик Python в сочетании с ключом `-m`:116117```text118py -2 -m pip install SomePackage # default Python 2119py -2.7 -m pip install SomePackage # specifically Python 2.7120py -3 -m pip install SomePackage # default Python 3121py -3.4 -m pip install SomePackage # specifically Python 3.4122```123124## Распространённые проблемы установки125126### Установка в системный Python в Linux127128В системах Linux установка Python обычно является частью дистрибутива. Установка в эту установку Python требует прав root и может нарушить работу системного менеджера пакетов и других компонентов системы, если какой-либо компонент будет неожиданно обновлён с помощью `pip`.129130В таких системах при установке пакетов с помощью `pip` часто лучше использовать виртуальное окружение или установку для отдельного пользователя.131132### Pip не установлен133134Возможно, что `pip` не устанавливается по умолчанию. Один из возможных способов исправления:135136```text137python -m ensurepip --default-pip138```139140Существуют также дополнительные ресурсы для [установки pip.](https://python-all.ru/3.6/installing/index.html)141142### Установка бинарных расширений143144Python традиционно в значительной степени полагался на распространение в исходных кодах, предполагая, что конечные пользователи будут компилировать модули расширения из исходников в процессе установки.145146С введением поддержки двоичного формата `wheel` и возможности публиковать wheels как минимум для Windows и Mac OS X через Python Packaging Index, эта проблема, как ожидается, со временем уменьшится, поскольку пользователи смогут чаще устанавливать предварительно собранные расширения, а не собирать их самостоятельно.147148Некоторые решения для установки [научного программного обеспечения](https://python-all.ru/3.6/installing/index.html), которые ещё не доступны в виде предварительно собранных `wheel`-файлов, также могут помочь в получении других бинарных расширений без необходимости локальной сборки.149150> **См. также**151>152> [Руководство пользователя по упаковке Python: Бинарные расширения](https://python-all.ru/3.6/installing/index.html)153