Работа с зависимостями в Python
pip
Создание файла requirements.txt
- Установите зависимости и сохраните их в lock-файл:
pipenv
Создание файла Pipfile.lock
-
Установите pipenv:
-
Создайте
Pipfile.lock:
poetry
Создание файла poetry.lock
Если файл poetry.lock еще не существует, Poetry создаст его автоматически при установке зависимостей. Если файл уже существует, он будет обновлен. Для этого выполните команду:
Эта команда обновит зависимости, указанные в pyproject.toml, и создаст или обновит файл poetry.lock.
pipdeptree
Создание файла pipdeptree.txt
При обнаружении файла pipdeptree.txt агент проанализирует его содержимое как результат вывода утилиты pipdeptree в стандартном формате дерева зависимостей.
Для создания файла можно использовать следующие команды:
Для фильтрации вывода по конкретным пакетам окружения:
Для того чтобы зависимости основного манифеста проекта (например, requirements.txt) не отображались в результатах анализа вместе с результатом анализа pipdeptree рекомендуется исключить этот манифест из сканирования:
uv
Создание файла uv.lock
Если файл uv.lock еще не существует, uv создаст его автоматически при установке зависимостей. Если файл уже существует, он будет обновлен. Для этого выполните команду:
Эта команда обновит зависимости, указанные в pyproject.toml, и создаст или обновит файл uv.lock.
Поддержка механизма UV workspaces
Механизм UV workspaces позволяет централизованно управлять несколькими пакетами.
В pyproject.toml в секции workspaces может быть указана следующая запись:
В таком случае агент Johnny будет обрабатывать корневой pyproject.toml и все pyproject.toml всех пакетов из workspace как единое целое.
pdm
Создание файла pdm.lock
Если файл pdm.lock еще не существует, pdm создаст его автоматически при установке зависимостей. Если файл уже существует, он будет обновлен. Для этого выполните команду:
Эта команда обновит зависимости, указанные в pyproject.toml, и создаст или обновит файл pdm.lock.
Создание файла pylock.toml
Помимо стандартного формата pdm позволяет сформировать lock-файл в формате pylock.toml. Для фиксирования зависимостей в этом формате перед выполнением pdm lock необходимо выполнить следующую команду:
