Как вообще жить без path-зависимостей, это же песец
Впрочем, к питоновскому управлению зависимостями есть куда более серьезные претензии...
Top-level
Как вообще жить без path-зависимостей, это же песец Впрочем, к питоновскому управлению зависимостями есть куда более серьезные претензии... 10 comments
@sattellite ну просто, в расте можно сделать например как-то так [dependencies] Питон же резолвит всё @mo а разве нет формальных правил? Наверняка же они есть. Еще помню, чтобы зависимости проекта не лезли в системные пакеты используют virtual environment или что-то такое. Из старого опыта с зависимостями в Perl - есть системные пакеты, есть пакеты установленные в ~/.cpan, есть пакеты установленные по пути из специальной переменной и пакеты из пути переданного через флаг при запуске. @sattellite ой это вообще параллельная тема, я не про это. Я про то, как стыковать пакеты в пределах одного проекта @mo окей. Тогда я зря полез в эту тему. В знакомых мне скриптовых языках это не вызывает проблем совсем, просто кладешь их в корне проекта и готово. @mo А питоновские относительные импорты — это не оно разве? Которые "from . import package" https://docs.python.org/3/reference/import.html#package-relative-imports @sunaonavi нет. Так можно только в пределах одного "крейта" (выражаясь растовой терминологией. Ты не сможешь так импортнуть что-то из уровня выше __main__ @sunaonavi т.е, если у меня образно есть такие три пакета common/ telegram_bot/ web_api/ Использовать common через относительные импорты они не смогут. Только через добавление в sys.path (через переменные окружения, и прочее), но это ещё более нестабильный подход @mo А все три образных пакета в одном каталоге? Тогда "from ..common import models" не сработает разве? @sunaonavi нет, тут зависит от того, какой файл запускается :ageblobcat: Выше него — импортами не вылезти |
@mo PATH зависимости? А это разве не для исполняемых файлов? Зависимости, по идее, должны лежать по пути из специальной для языка/среды переменной. Или я не понял о чем речь.