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. Для соседних задач пригодятся эти разборы:

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x