pip можно использовать команду:
  pip show <имя_библиотеки>pip list | grep <имя_библиотеки>python -c "import <имя_библиотеки>"Для проверки наличия библиотеки в текущем Python окружении с помощью pip, существует несколько способов:
1. Использование pip show:
Команда pip show <имя_библиотеки> попытается вывести информацию о библиотеке. Если библиотека установлена, будут отображены метаданные (версия, описание, зависимости и т.д.). Если библиотеки нет, команда ничего не выведет и вернет ненулевой код завершения (ошибку).
pip show requestsВ Python коде можно использовать ее следующим образом:
import subprocess
def check_if_package_installed(package_name):
    try:
        subprocess.check_output(['pip', 'show', package_name])
        return True
    except subprocess.CalledProcessError:
        return False
if check_if_package_installed('requests'):
    print("Библиотека 'requests' установлена.")
else:
    print("Библиотека 'requests' не установлена.")
  2. Использование pip list и фильтрация результатов:
Команда pip list выводит список всех установленных библиотек.  Можно использовать grep (в Linux/macOS) или findstr (в Windows) для поиска нужной библиотеки в этом списке.
pip list | grep requestsВ Python коде:
import subprocess
def check_if_package_installed(package_name):
    try:
        result = subprocess.check_output(['pip', 'list']).decode('utf-8')
        return package_name in result
    except subprocess.CalledProcessError:
        return False
if check_if_package_installed('requests'):
    print("Библиотека 'requests' установлена.")
else:
    print("Библиотека 'requests' не установлена.")
  3. Использование pip freeze и фильтрация результатов:
Команда pip freeze выводит список установленных библиотек в формате "пакет==версия". Этот формат удобен для создания requirements.txt.  Можно использовать grep (в Linux/macOS) или findstr (в Windows) для поиска нужной библиотеки в этом списке.
pip freeze | grep requests4. Импорт библиотеки и обработка исключения ImportError:
Этот метод предполагает попытку импорта библиотеки непосредственно в Python коде.  Если библиотека не установлена, возникнет исключение ImportError, которое нужно обработать.
try:
    import requests
    print("Библиотека 'requests' установлена.")
except ImportError:
    print("Библиотека 'requests' не установлена.")
  Этот способ наиболее распространенный и предпочтительный в коде, так как не требует вызова внешних процессов через subprocess и хорошо читается.
Рекомендации:
pip show позволяет получить дополнительную информацию о пакете, если он установлен.ImportError является наиболее чистым и идиоматичным способом проверки наличия библиотеки в Python коде. Он не требует вызова внешних команд и напрямую проверяет возможность использования библиотеки.subprocess важно обрабатывать исключение subprocess.CalledProcessError, которое возникает, если команда возвращает ненулевой код завершения.grep/findstr полезны при интерактивной работе в терминале.