Как установить библиотеку: pip install
Библиотеки ставятся командой в терминале (не внутри Python):
python -m pip install requestsrequests — имя библиотеки, вместо него подставьте нужное. В 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 |
| Обновить сам pip | python -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 не даёт ставить в него пакеты, чтобы не сломать системные программы. Решения:
- создать виртуальное окружение и ставить туда — справка Виртуальное окружение venv;
- поставить библиотеку из пакетов системы, если она там есть: например,
sudo apt install python3-requests.
Параметр --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Первая команда записывает все установленные пакеты с версиями, вторая ставит их. Обе удобнее всего выполнять в виртуальном окружении — тогда в файл попадут только библиотеки этого проекта.