Работа с зависимостями в Python

pip

Создание файла requirements.txt

  1. Установите зависимости и сохраните их в lock-файл:
    pip freeze > requirements.txt

pipenv

Создание файла Pipfile.lock

  1. Установите pipenv:

    pip install pipenv
  2. Создайте Pipfile.lock:

    pipenv install

poetry

Создание файла poetry.lock

Если файл poetry.lock еще не существует, Poetry создаст его автоматически при установке зависимостей. Если файл уже существует, он будет обновлен. Для этого выполните команду:

poetry lock

Эта команда обновит зависимости, указанные в pyproject.toml, и создаст или обновит файл poetry.lock.

pipdeptree

Создание файла pipdeptree.txt

При обнаружении файла pipdeptree.txt агент проанализирует его содержимое как результат вывода утилиты pipdeptree в стандартном формате дерева зависимостей. Для создания файла можно использовать следующие команды:

pipdeptree > pipdeptree.txt

Для фильтрации вывода по конкретным пакетам окружения:

pipdeptree --packages "example1,example2" > pipdeptree.txt
Взаимодействие с другими манифестами

Для того чтобы зависимости основного манифеста проекта (например, requirements.txt) не отображались в результатах анализа вместе с результатом анализа pipdeptree рекомендуется исключить этот манифест из сканирования:

    johnny scan python . \
      --ignore "requirements.txt"

uv

Создание файла uv.lock

Если файл uv.lock еще не существует, uv создаст его автоматически при установке зависимостей. Если файл уже существует, он будет обновлен. Для этого выполните команду:

uv lock

Эта команда обновит зависимости, указанные в pyproject.toml, и создаст или обновит файл uv.lock.

Поддержка механизма UV workspaces

Механизм UV workspaces позволяет централизованно управлять несколькими пакетами.

В pyproject.toml в секции workspaces может быть указана следующая запись:

[tool.uv.workspace]
members = [
    "packages/core",
    "packages/api"
]

В таком случае агент Johnny будет обрабатывать корневой pyproject.toml и все pyproject.toml всех пакетов из workspace как единое целое.

pdm

Создание файла pdm.lock

Если файл pdm.lock еще не существует, pdm создаст его автоматически при установке зависимостей. Если файл уже существует, он будет обновлен. Для этого выполните команду:

pdm lock

Эта команда обновит зависимости, указанные в pyproject.toml, и создаст или обновит файл pdm.lock.

Создание файла pylock.toml

Помимо стандартного формата pdm позволяет сформировать lock-файл в формате pylock.toml. Для фиксирования зависимостей в этом формате перед выполнением pdm lock необходимо выполнить следующую команду:

pdm config lock.format pylock
Страница была полезна?