Python
Как узнать, какие библиотеки установлены в Python: pip list, pip freeze и окружения
Чтобы посмотреть установленные библиотеки Python, используйте команду python -m pip list. Она покажет пакеты и версии в том окружении, к которому относится текущий Python. Это важная оговорка: на компьютере может быть несколько Python и несколько виртуальных окружений, поэтому список библиотек зависит от того, какой Python вы запустили
python -m pip list
Пример вывода
Package Version
---------- -------
pip 24.2
requests 2.32.3
Если вы работаете на macOS или Linux и команда python ведет не туда, попробуйте python3 -m pip list
Почему лучше писать python -m pip list
Команда pip list тоже может работать, но форма python -m pip list надежнее. Она запускает pip через конкретный Python, поэтому меньше риск посмотреть библиотеки не того окружения
python --version
python -m pip --version
В выводе pip --version будет путь к папке site-packages. Если вы активировали .venv, путь должен вести внутрь виртуального окружения проекта
Как посмотреть библиотеки в виртуальном окружении
Сначала активируйте окружение
.venv\Scripts\Activate.ps1
python -m pip list
source .venv/bin/activate
python -m pip list
Если до активации список один, а после активации другой — это нормально. В этом и смысл виртуального окружения: каждый проект может иметь свой набор библиотек
pip list и pip freeze: в чем разница
pip list удобен для просмотра человеком. Он показывает аккуратную таблицу с пакетами и версиями
python -m pip list
pip freeze чаще используют для сохранения зависимостей в файл, чтобы потом установить такие же версии на другом компьютере
python -m pip freeze > requirements.txt
Файл requirements.txt получится примерно таким
requests==2.32.3
beautifulsoup4==4.12.3
Если вы просто хотите посмотреть, что установлено, используйте pip list. Если хотите подготовить файл зависимостей проекта, используйте pip freeze, но внимательно смотрите, не попали ли туда лишние пакеты из старого окружения
Как проверить конкретную библиотеку
Для одного пакета удобнее pip show
python -m pip show requests
Вы увидите версию, путь установки, зависимости и другую информацию. Если пакет не установлен, команда ничего полезного не покажет или сообщит, что пакет не найден
Как вывести список библиотек из Python-кода
Для обычного просмотра лучше использовать терминал, но иногда список пакетов нужен внутри программы. В современных версиях Python можно использовать importlib.metadata
from importlib.metadata import distributions
for package in distributions():
print(package.metadata["Name"], package.version)
Такой код полезен для диагностики окружения, но новичку обычно достаточно команд pip list и pip show
Почему библиотека установлена, но import не работает
Чаще всего вы установили пакет в одно окружение, а запускаете код в другом. Проверьте путь к Python в коде
import sys
print(sys.executable)
И сравните с командой
python -m pip --version
Если пути разные, нужно активировать правильное окружение или выбрать правильный интерпретатор в редакторе
Мини-задача
Создайте новое окружение, посмотрите список библиотек, установите requests и посмотрите список еще раз
mkdir pip-list-test
cd pip-list-test
python -m venv .venv
source .venv/bin/activate
python -m pip list
python -m pip install requests
python -m pip list
python -m pip show requests
На Windows используйте активацию .venv\Scripts\Activate.ps1. После установки вы увидите не только requests, но и зависимости, которые нужны этой библиотеке. Это нормально: пакет может подтянуть другие пакеты автоматически
Частые ошибки
Вижу слишком много библиотек
Скорее всего, вы смотрите глобальный Python, а не чистое виртуальное окружение проекта. Создайте .venv, активируйте его и повторите python -m pip list
Библиотека есть в pip list, но код ее не видит
Редактор или терминал запускает другой Python. Проверьте sys.executable и выбранный интерпретатор
Думаю, что pip list показывает стандартную библиотеку
Нет. pip list показывает установленные пакеты из окружения, а не встроенные модули Python вроде os, sys, json, math
Что почитать дальше по Python
Если нужен общий маршрут по теме, откройте рубрику Python. Для соседних задач пригодятся эти разборы:
- Как узнать версию установленной библиотеки Python: pip show, pip list и importlib.metadata
- Как удалить Helium в Python: pip uninstall helium и проверка окружения
- Как удалить библиотеки из Python: pip uninstall, venv и проверка зависимостей
- Виртуальные окружения в Python: изоляция проектов и управление зависимостями