в venv запаковать и из venv использовать?
А тебе на выходе нужен деб пакет значит.
Да. Моя проблема в том, что не на всех машинах есть репы с питоном 3.8, а на некоторых их ещё и добавить проблематично. Хочу избавиться от проблематичного депендс, завернув его внутрь пакета.
Так ведь virtualenv не избавляет от зависимости от системного питона. У тебя проблема питоновские пакеты упаковать или сам питон?
Сам питон 3.8. Я активно его фичи использовал, понижать версию не вариант
Окей, а deb пакет на выходе собрать это производственная необходимость или из-за того что не разобрался в вопросе?
Опиши изначальную задачу, которую ты пытаешься решить.
Необходимость. Планируется деплоить его с другими скриптами из нашего местного репозитория.
Я пытаюсь сделать стенд-элон деб пакет, который внутри себя будет содержать все необходимые для работы зависимости, чтобы пользователь после apt install мог сходу начать им пользоваться.
А зачем деб пакет? У них другая идеология
Ну тогда тебе нужно или упаковать питон в свой пакет, что будет несколько геморно, либо ты можешь взять pyinstaller (но не в режиме --onefile) который соберет тебе бинарь, зависимые модули и библиотеки и его уже завернуть в deb пакет.
Какие ещё есть альтернативы, чтобы проинсталлить в одну кнопку? Я изначально писал эти тулзы на компилируемом ЯП и с деплойментом через апт проблем не было, идеология соблюдалась. Переписал на питон, чтобы передать саппорт пакета ДевОпсам, и вот тут и повылазили проблемы, что пакет на множество машин не ставится.
Докер уже предложили
Докер для моего случая - абсурд. Я написал билд скрипты, которые менеджат чруты и зависимости пакетов. Если ставить всем поголовно докер, то уже и билд инфру апдейтить нужно.
Ну тогда прописать нормально зависимости от python3.8, для которого deb пакет есть
Фокус в том что как сказал автор у него в репах python 3.8 нет
Девопсы должны знать Go. =)
Ну скачать из другой репы и положить рядом
Ахах. Не, в 3й раз переписывать 3к строк желанием не горю. К тому же наши девопс его не знают, и знать не захотят. Они старые.
Да, это был мой план Б. Видимо, так и сделаю)))
Обсуждают сегодня