Встановлення модулів 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 distribution guide.

Примітка

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

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

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

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

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

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

  • The Python Packaging Index is a public repository of open source licensed packages made available for use by other Python users.

  • 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.

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

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

The following command will install the latest version of a module and its dependencies from the Python Packaging Index:

python -m pip install SomePackage

Примітка

For POSIX users (including Mac OS X and Linux users), the examples in this guide assume the use of a 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. Для встановлення пакетів у активне віртуальне середовище використовуються команди, наведені вище.

Як мені …?

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

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

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

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

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

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

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

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

On Linux, Mac OS X, and other POSIX systems, use the versioned Python commands in combination with the -m switch to run the appropriate copy of 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, як правило, значною мірою покладається на дистрибутив на основі вихідного коду, причому очікується, що кінцеві користувачі збиратимуть модулі розширення з вихідного коду як частину процесу встановлення.

With the introduction of support for the binary wheel format, and the ability to publish wheels for at least Windows and Mac OS X through the Python Packaging Index, this problem is expected to diminish over time, as users are more regularly able to install pre-built extensions rather than needing to build them themselves.

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