необходимы для запуска. Хочу попробовать настроить Github Actions, чтоб там всё автоматом ставилось и при этом не нужно было ручками писать файл зависимостей.
Его только ручками и надо писать
жаль, вроде в .NET автоматом при установке из nuget файл обновляет
1. никак. 2. а ты что не хранишь список зависимостей?
например использовать poetry для управления зависимостями.
Я не очень в этом шарю, дали задание простое вроде, чтоб при коммите собиралось всё нужное для запуска проекта, вот и думаю
Ну как вариант сделать pip freeze, но эта команда просто из венв все пакеты запишет. Так что если там что-то лишнее в процессе было установлено, то оно тоже приедет. Так что лучше всего зависимости добавлять в процессе разработки сразу и ручками, чтобы лишнее не заезжало, но все необходимое было
а как именно их добавлять? через поэтри? поставил его, сейчас с ним разбираюсь
ну есть несколько способов управления зависимостями. это зависит в первую очередь от типа и способа установки твоего проекта.
Создаешь файл requirements.txt Потом туда пишешь сроки в таком формате %имя_пакета%==%версия% Например, alembic==1.5.8 apispec==3.3.2
транзитивные зависимости как отслеживать будешь?
Ну, вызов pip freeze первый раз без наличия файлов requirements и constraints таких проблем не вызовет
каких таких проблем? pip freeze даст тебе полный список как прямых так и транзитивных зависимостей. как ты будешь потом разбираться что есть что?
Ну это да, я думал ты про конфликты транзитивных зависимостей говоришь
это вторая проблема. но емнип новый резолвер зависимостей у пипа эту ситуацию уже научился обрабатывать.
Ну я уже намучался с разрешением таких конфликтов, на проекте как-то заказчик выкатил список констрейнтов в середине разработки. Зачем — непонятно, но порешав все проблемы до пакетов начинающихся до буквы s я обнаружил, что челы поставили версию SQLAlchemy ниже той, что поддерживала асинхронные движки нормально. Пришлось долгий разговор на тему устраивать
Обсуждают сегодня