делаю pip freeze > requirements.txt а затем я делаю pip install -r requirements.txt`, то у меня возникают конфликты и приходится практически угадывать правильный порядок установки зависимостей, чтобы не было конфликтов.
Для меня это вообще какой-то сюр нафиг – руками все поставилось, но через requirements.txt видите ли порядок пакетов питону не нравится...
Есть вообще способ как это можно фиксить чтобы в одну команду поставить пакеты из requirements.txt и не париться с порядком?
Подскажите, пожалуйста
мигрируй на pyproject.toml
poetry \ pipenv \ pip-tools
Это не одна команда
И каким хуем это поможет?
Спасибо большое
прямые зависимости в манифесте будут указаны
Это слабо спасает от конфликтов зависимостей. Емнип pip научился это детектить, но в лучшем случае он просто упадет.
Вообще надо вести список зависимостей, а не делать pip freeze. Ну а так уже другие инструменты посоветовали
pip freeze и есть весь список зависимостей
нет, pip freeze это свалка установленных пакетов
Нет. Вести вручную зависимости.
Откуда я знаю какие зависимостей. Я ставлю проект с гитхаба .sh скриптами и там через одно место все ставится
Ну другого выхода я не вижу. Понятно что если бы это был мой проект, тогда я бы руками прописывал список зависимостей
У тебя всегда есть выбор найти другой язык с лучшей моделью управления зависимостями.
1. Сделать пип фриз 2. Погрепать импорты. 3. Сопоставить одно с другим 4. Выписать список
Можешь посмотреть нужные библиотеки, уверен их там будет не так много. Посмотри зависимости через pipdeptree
Не понял как делать шаги 2-4
А что мне даст pipdeptree?
Покажет какая библиотека зависит от какого
Руками все равно нужно прописывать все
Ну если изначально каша то придется
Вообще, странно, что установка зависимимостей из фриза приводит к конфликтам. Видимо, устанавливаются они не в пустой венв
Я вот сейчас на вскидку не помню новый резолвер учитывает уже установленные пакеты или нет
А что пип с этим сам не справляется?
Не справляется :(
Обсуждают сегодня