Глиф Учебники

Как установить библиотеку: pip install

Справочник · Python · 3 минуты чтения

Библиотеки ставятся командой в терминале (не внутри Python):

Командная строка
python -m pip install requests

requests — имя библиотеки, вместо него подставьте нужное. В Linux и macOS команда — python3 -m pip install requests, и лучше внутри виртуального окружения (как его создать — в справке Виртуальное окружение venv). pip скачивает библиотеки из PyPI (pypi.org) — официального каталога пакетов Python.

Терминал — это командная строка Windows или «Терминал» в Linux и macOS. Как открыть его в нужной папке — в справке Как запустить файл .py.

Почему python -m pip, а не просто pip

Команда pip install … тоже работает, если папка pip есть в PATH — списке папок, где система ищет команды. Но python -m pip надёжнее: она ставит библиотеку именно в тот Python, который запускается командой python. Если на компьютере несколько версий Python, простой pip может поставить библиотеку в другую — и программа её не увидит.

Основные команды

ЗадачаКоманда
Установитьpython -m pip install requests
Установить нужную версиюpython -m pip install requests==2.31.0
Обновитьpython -m pip install --upgrade requests
Удалитьpython -m pip uninstall requests
Список установленныхpython -m pip list
Сведения о пакетеpython -m pip show requests
Установить всё из файлаpython -m pip install -r requirements.txt
Обновить сам pippython -m pip install --upgrade pip

В Thonny библиотеки ставятся и без терминала: меню Tools → Manage packages. Так библиотека попадёт в тот Python, с которым работает Thonny.

Частые ошибки

'pip' не является внутренней или внешней командой — папки pip нет в PATH. Пишите python -m pip install …, а если и python не находится — py -m pip install …. Как добавить Python в PATH — в справке «python» не является внутренней или внешней командой.

SyntaxError: invalid syntax на слове install — команда набрана в окне Python с приглашением >>> или вставлена в программу. pip — команда терминала: закройте Python (exit()) и выполните её в командной строке.

error: externally-managed-environment — так современные Ubuntu и Debian защищают системный Python: pip не даёт ставить в него пакеты, чтобы не сломать системные программы. Решения:

Параметр --break-system-packages снимает эту защиту. Не используйте его: пакет, поставленный поверх системных, может сломать программы самой системы, вплоть до менеджера пакетов. Виртуальное окружение решает задачу без риска.

Could not find a version that satisfies the requirement и No matching distribution found — pip не нашёл пакет. Проверьте имя (оно может отличаться от имени для import), подключение к интернету и версию Python: у очень новой или очень старой версии Python может не быть подходящей сборки пакета.

Requirement already satisfied — не ошибка: пакет уже установлен.

Defaulting to user installation because normal site-packages is not writeable — тоже не ошибка: у пользователя нет прав на общую папку Python, и pip ставит пакет в личную папку. Пакет при этом работает.

Библиотека установлена, а import не работает

Если после установки программа пишет ModuleNotFoundError: No module named …, библиотека попала не в тот Python, которым запускается программа, или имя пакета отличается от имени модуля. Разбор — в справке ModuleNotFoundError: No module named.

Список библиотек проекта

Чтобы на другом компьютере поставить те же библиотеки, их сохраняют в файл и ставят из него:

Командная строка
python -m pip freeze > requirements.txt
python -m pip install -r requirements.txt

Первая команда записывает все установленные пакеты с версиями, вторая ставит их. Обе удобнее всего выполнять в виртуальном окружении — тогда в файл попадут только библиотеки этого проекта.