Привет, Хабр!
Если вы собираете прототип на C++, то один файл с main.cpp
иногда реально компилируется в рабочую утилиту. Библиотеки либо завозятся пакетным менеджером заранее, либо у вас есть header-only зависимость и всё взлетает. В Python долгое время это было болью: любой однофайловый скрипт, который требует requests
или rich
, уже тянет за собой виртуальные окружения, инструкции в README и локальные фичи.
Есть рабочий стандарт для нормальных однофайловых сценариев с зависимостями — PEP 723: вы объявляете зависимости прямо в комментариях, а раннер ставит всё сам и запускает в изолированной среде. В связке с uv
получается неплохой такой способ делиться скриптами, в том числе для пвспомогательных задач. И да, у этой красоты есть нюансы безопасности, о них поговорим отдельно.