Python
Как узнать версию установленной библиотеки Python: pip show, pip list и importlib.metadata
Самый простой способ узнать версию установленной библиотеки — выполнить команду python -m pip show и указать имя пакета. Так вы проверяете именно тот pip, который связан с выбранным Python, а не случайный pip из другой установки
python -m pip show requests
В выводе будет строка Version
Name: requests
Version: 2.32.3
Location: .../site-packages
Если пакет не найден, значит он не установлен в текущем окружении или вы проверяете не тот Python
Как проверить через pip list
Если вы не помните точное имя пакета, сначала посмотрите список установленных библиотек
python -m pip list
Вывод будет похож на таблицу
Package Version
---------- -------
requests 2.32.3
pip 24.2
Можно отфильтровать вручную глазами или через поиск в терминале. Для учебных проектов этого обычно достаточно, особенно если окружение небольшое и в нем установлено всего несколько библиотек
Как узнать версию в Python-коде
В современном Python удобно использовать importlib.metadata. Этот способ хорош, когда версия нужна прямо внутри программы: например, для диагностики, отчета об окружении или проверки совместимости
from importlib.metadata import version
print(version("requests"))
Если пакет не установлен, будет исключение PackageNotFoundError. Его можно обработать
from importlib.metadata import PackageNotFoundError, version
try:
print(version("requests"))
except PackageNotFoundError:
print("Пакет requests не установлен")
Важно: имя для version() — это имя установленного пакета, а не всегда имя модуля в import. Например, пакет может называться beautifulsoup4, а импортироваться как bs4
Проверка через __version__
У некоторых библиотек есть атрибут __version__
import requests
print(requests.__version__)
Это удобно, но не универсально. Не каждая библиотека обязана иметь __version__, поэтому для общей проверки надежнее python -m pip show или importlib.metadata.version()
Почему версия может отличаться в терминале и редакторе
Частая ситуация: в терминале pip show показывает одну версию, а код в VS Code или PyCharm запускается в другом окружении. Тогда программа импортирует пакет из другого места, и вы видите не то, что ожидали
import sys
print(sys.executable)
Сравните этот путь с выводом команды
python -m pip --version
Если пути разные, переключите интерпретатор в редакторе или активируйте нужное виртуальное окружение
Мини-задача
Проверьте версию pip, затем установите requests и проверьте его версию двумя способами
python -m pip --version
python -m pip install requests
python -m pip show requests
Затем создайте файл check_version.py
from importlib.metadata import version
print(version("requests"))
Если оба способа показывают одну и ту же версию, вы проверяете правильное окружение
Частые ошибки
Пишу pip show, но пакет не найден
Попробуйте форму python -m pip show package_name. Если проект использует виртуальное окружение, активируйте его перед проверкой
Имя импорта и имя пакета отличаются
Пример: bs4 импортируется так
from bs4 import BeautifulSoup
Но пакет в pip называется beautifulsoup4
python -m pip show beautifulsoup4
У библиотеки нет __version__
Это нормально. Используйте importlib.metadata.version() или pip show
Что почитать дальше по Python
Если нужен общий маршрут по теме, откройте рубрику Python. Для соседних задач пригодятся эти разборы:
- Как узнать, какие библиотеки установлены в Python: pip list, pip freeze и окружения
- Как удалить библиотеки из Python: pip uninstall, venv и проверка зависимостей
- Как узнать версию Python в терминале, VS Code и внутри программы
- Как разделить строку на символы в Python: list(), цикл и Unicode