# Встановлення модулів Python

Електронна пошта:

  distutils-sig@python.org

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

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

This guide covers the installation part of the process. For a guide to creating and sharing your own Python projects, refer to the Python packaging user guide.

Примітка

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

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

- `pip` є кращою програмою встановлення. Починаючи з Python 3.4, він включено за замовчуванням у бінарні інсталятори Python.

- Віртуальне середовище — це напівізольоване середовище Python, яке дозволяє встановлювати пакети для використання певною програмою, а не встановлювати в системі.

- `venv` є стандартним інструментом для створення віртуальних середовищ і є частиною Python з Python 3.3. Починаючи з Python 3.4, за замовчуванням `pip` встановлюється в усі створені віртуальні середовища.

- `virtualenv` є сторонньою альтернативою (і попередником) `venv`. Він дозволяє використовувати віртуальні середовища у версіях Python до 3.4, які або взагалі не забезпечують `venv`, або не можуть автоматично встановлювати `pip` у створені середовища.

- Python Package Index є загальнодоступним сховищем ліцензованих пакетів з відкритим вихідним кодом, доступним для використання іншими користувачами Python.

- the Python Packaging Authority is the group of developers and documentation authors responsible for the maintenance and evolution of the standard packaging tools and the associated metadata and file format standards. They maintain a variety of tools, documentation, and issue trackers on both GitHub and Bitbucket.

- `distutils` — це оригінальна система збірки та розповсюдження, яка вперше була додана до стандартної бібліотеки Python у 1998 році. Хоча пряме використання `distutils` поступово припиняється, воно все одно заклало основу для поточної інфраструктури пакування та розповсюдження, а також він не тільки залишається частиною стандартної бібліотеки, але й продовжує жити іншим чином (наприклад, назва списку розсилки, який використовується для координації розробки стандартів пакування Python).

Змінено в версії 3.5: Тепер для створення віртуальних середовищ рекомендується використовувати `venv`.

Дивись також

Посібник користувача з пакування Python: Створення та використання віртуальних середовищ

## Базове використання

Усі стандартні інструменти пакування призначені для використання з командного рядка.

Наступна команда встановить останню версію модуля та його залежності з індексу пакетів Python:

    python -m pip install SomePackage

Примітка

Для користувачів POSIX (включаючи користувачів macOS і Linux) приклади в цьому посібнику передбачають використання virtual environment.

Для користувачів Windows приклади в цьому посібнику припускають, що під час інсталяції Python було вибрано параметр налаштування системної змінної середовища PATH.

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

    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.

Створення віртуальних середовищ здійснюється за допомогою модуля `venv`. Для встановлення пакетів у активне віртуальне середовище використовуються команди, наведені вище.

Дивись також

Посібник користувача з пакування Python: встановлення пакетів розповсюдження Python

## Як мені …?

Це короткі відповіді або посилання для деяких типових завдань.

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

Python почав об’єднувати `pip` лише з Python 3.4. Для попередніх версій `pip` потрібно «завантажити», як описано в посібнику користувача з пакування Python.

Дивись також

Посібник користувача з пакування Python: Вимоги до встановлення пакетів

### … встановити пакети лише для поточного користувача?

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

### … встановити наукові пакети Python?

Кілька наукових пакетів Python мають складні бінарні залежності, і наразі їх непросто встановити безпосередньо за допомогою `pip`. На даний момент користувачам буде простіше встановити ці пакунки іншими засобами, ніж намагатися встановити їх за допомогою `pip`.

Дивись також

Посібник користувача з пакування Python: встановлення наукових пакетів

### … працювати з кількома версіями Python, встановленими паралельно?

У Linux, macOS та інших системах 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 використовуйте засіб запуску Python `py` у поєднанні з перемикачем `-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

## Поширені проблеми встановлення

### Встановлення в систему Python на Linux

У системах Linux інсталяція Python зазвичай буде включена як частина дистрибутива. Встановлення в цю установку Python вимагає кореневого доступу до системи та може заважати роботі системного менеджера пакунків та інших компонентів системи, якщо компонент неочікувано оновлено за допомогою `pip`.

У таких системах часто краще використовувати віртуальне середовище або інсталяцію для кожного користувача під час інсталяції пакетів за допомогою `pip`.

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

Можливо, `pip` не встановлюється за замовчуванням. Одним з потенційних виправлень є:

    python -m ensurepip --default-pip

There are also additional resources for installing pip.

### Встановлення бінарних розширень

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

Із запровадженням підтримки двійкового формату `wheel` і можливістю публікувати колеса принаймні для Windows і macOS через індекс пакетів Python, очікується, що ця проблема з часом зменшиться, оскільки користувачі зможуть більш регулярно встановлювати готові розширення, а не створювати їх самостійно.

Деякі з рішень для встановлення наукового програмного забезпечення, які ще не доступні у вигляді попередньо зібраних файлів `wheel`, також можуть допомогти отримати інші двійкові розширення без необхідності створювати їх локально.

Дивись також

Посібник користувача з пакування Python: двійкові розширення