Просмотр установленных модулей Python в системе

Раздел: Администрирование -> Пакеты

Основные инструменты для вывода списка пакетов

Наиболее универсальное решение - использование встроенного менеджера пакетов pip. Команда pip list выводит таблицу с именами и версиями установленных пакетов. Если требуется только имена и версии без форматирования, используется pip freeze, формат которого подходит для файла requirements.txt.

Как получить базовый список всех пакетов?

Выполните в терминале:

pip list

Pip upgrade package python (обновление пакета через pip)

Результат появится в виде столбцов Package и Version. Для детального вывода можно задать формат:

pip list --format=columns

Python pip update package (обновление пакета через pip update)

Альтернативный формат json:

pip list --format=json

Python build package (сборка пакета python)

Команда pip freeze выводит строки вида package==version, которые удобно сохранять в файл:

pip freeze > installed_packages.txt

Python download package (скачивание пакета python)

Типичные проблемы:

  • Команда pip не найдена. Убедитесь, что Python и pip установлены и добавлены в PATH. На Windows может потребоваться запустить py -m pip list.
  • Список слишком большой. Используйте grep (Linux/Mac) или findstr (Windows) для фильтрации, например:
    pip list | grep numpy

    Python pip install local package (установка локального пакета через pip)

  • Отсутствует информация о зависимостях. pip list показывает только верхнеуровневые пакеты. Для просмотра дерева зависимостей установите pipdeptree.

Как получить список только пакетов, установленных через pip, без зависимостей?

По умолчанию pip list показывает все пакеты, включая зависимости, установленные автоматически. Чтобы увидеть только те, что были явно установлены пользователем, используйте опцию --not-required (доступна в pip 23.1 и новее).

pip list --not-required

Python install package version (установка пакета определенной версии в python)

Это выведет только пакеты, которые не являются зависимостями других пакетов. Если версия pip старше, можно воспользоваться сторонними инструментами, например pip-chill.

Если опция не поддерживается, обновите pip:

python -m pip install --upgrade pip

модули python linux (модули python в linux)

Как просмотреть пакеты в виртуальном окружении?

Виртуальные окружения изолируют пакеты. Активируйте окружение, затем выполните те же команды:

# Активация на Windows
.\venv\Scripts\activate
# Активация на Linux/Mac
source venv/bin/activate
# После активации
pip list

Update lib python (обновление библиотек python)

Если окружение не активировано, можно указать путь к интерпретатору Python внутри него:

./venv/bin/python -m pip list

Python packages list (список установленных пакетов)

Важно помнить, что pip freeze в активированном окружении покажет только пакеты этого окружения.

Ошибка: pip не распознает окружение. Убедитесь, что внутри venv установлен pip (он есть по умолчанию). Если нет, выполните python -m ensurepip --upgrade.

Как получить список пакетов из Python кода?

Для программного доступа к установленным пакетам можно использовать стандартные модули importlib.metadata (Python 3.8+) или pkg_resources (из setuptools). Пример с importlib.metadata:

import importlib.metadata
distributions = importlib.metadata.distributions()
for dist in distributions:
    print(dist.metadata['Name'], dist.version)

Remove python package (удаление пакета python)

Или с pkg_resources:

import pkg_resources
for package in pkg_resources.working_set:
    print(package.project_name, package.version)

Python pip install windows (установка пакетов pip в windows)

Такой подход удобен для интеграции в скрипты администрирования.

Модуль pkg_resources может быть недоступен, если setuptools не установлен. Установите его через pip: pip install setuptools.

Как сохранить список пакетов в requirements.txt и затем его просмотреть?

Команда pip freeze генерирует список в формате, пригодном для установки. Это стандартный способ сохранить окружение.

pip freeze > requirements.txt

Python pip windows (установка pip на windows)

Просмотреть содержимое можно текстовым редактором или командой cat (Linux) / type (Windows).

cat requirements.txt

Apt get python (установка python через apt-get)

Такой подход используется для воспроизведения окружения на другой машине.

Проблема: pip freeze часто включает зависимости, которые не нужны. Для выделения только основных пакетов используйте pip-chill или pip list --not-required.

Как проверить, установлен ли конкретный пакет, и узнать его версию?

Для этого служит команда pip show:

pip show requests

Windows package python (установка пакетов python на windows)

Она выводит подробную информацию: версию, автора, зависимости и т.д. Если пакет не найден, выводится сообщение об ошибке.

Также можно выполнить поиск по имени через pip list | grep requests (Linux) или pip list | findstr requests (Windows).

Если пакет установлен в нескольких окружениях, команда покажет информацию только из текущего активного окружения.

Как получить список пакетов в окружении Conda?

Для дистрибутива Anaconda/Miniconda используется команда conda list:

conda list

Она показывает все пакеты, установленные через conda. Если есть также пакеты, установленные через pip, они отображаются отдельно (строка с каналом 'pypi').

Можно отфильтровать по имени: conda list numpy.

Важно: pip и conda используют разные репозитории, и список conda не включает пакеты из pip, установленные без conda. Для полного списка нужно выполнять обе команды.

- установить библиотеку python visual studio (установка библиотек python в visual studio)
- Pip idle python (установка пакетов pip в idle)
- Uv python windows (установка и использование uv в python на windows)

Расширенные примеры работы со списком пакетов

В этом разделе представлены нестандартные подходы и готовые скрипты.

1. Обработка JSON-вывода pip list с помощью Python

Команда pip с форматом json выдаёт структурированные данные, которые можно обработать скриптом:

Пример
pip list --format=json | python -c "import sys,json; data=json.load(sys.stdin); [print(p['name'],p['version']) for p in data]"
numpy 1.21.0
requests 2.25.1
...

Скрипт читает JSON из stdin, разбирает его и выводит имя и версию каждого пакета.

2. Дерево зависимостей с помощью pipdeptree

Утилита pipdeptree визуализирует иерархию зависимостей:

Пример
pip install pipdeptree
pipdeptree
numpy==1.21.0
requests==2.25.1
  - certifi==2021.5.30
  - chardet==4.0.0
  - idna==2.10
  - urllib3==1.26.6

Помогает выявить конфликты и лишние зависимости.

3. Определение глобальных и локальных пакетов через Python

Скрипт сравнивает путь размещения пакета с sys.prefix:

Пример
import sys, importlib.metadata
for dist in importlib.metadata.distributions():
    loc = dist.locate_file('')
    if sys.prefix in str(loc):
        print(dist.metadata['Name'], dist.version, 'global')
    else:
        print(dist.metadata['Name'], dist.version, 'venv')
numpy 1.21.0 global
requests 2.25.1 venv

Полезно для контроля окружений.

4. Минимальный requirements.txt без версий

Для проектов с плавающими версиями можно сохранить только имена пакетов:

Пример
pip list --not-required --format=freeze --exclude-editable | awk -F'=' '{print $1}' > minimal_req.txt
numpy
requests
...

Учтите, что опция --exclude-editable может не работать в старых версиях pip.

5. Сравнение двух файлов requirements.txt

Команда diff (Unix) помогает увидеть изменения:

Пример
diff -u old_req.txt new_req.txt
--- old_req.txt
+++ new_req.txt
@@ -1,3 +1,4 @@
 numpy==1.20.0
+requests==2.25.1
 scipy==1.6.0

Для Windows используйте fc или сторонние инструменты.

6. Зависимости конкретного пакета через importlib.metadata

Пример
python -c "import importlib.metadata as m; reqs=m.requires('requests'); print('\\n'.join(reqs))"
certifi>=2017.4.17
chardet>=3.0.2,<5
idna>=2.5,<3
urllib3>=1.21.1,<2

Позволяет быстро проверить, какие версии требуются.

7. Полный экспорт окружения Conda

Для воспроизведения окружения в Anaconda создаётся YAML-файл:

Пример
conda env export > environment.yml
(содержит channels, dependencies, и т.д.)

Затем окружение можно восстановить командой conda env create -f environment.yml.

Список установленных пакетов - comments

En
Python packages list (python)