Я считаю, что это «не рекомендуется», но на практике этого трудно избежать. У нас есть большая коллекция Python скриптов, вкрапленных в кодовую базу, отличную от Python. Оказывается, эти Python скрипты иногда хотят делать то же самое, что и другие Python скрипты. В итоге мы дублируем много кода.
Было бы неплохо извлечь все это в общий пакет и импортировать его, но, поскольку они не входят в общее дерево, это не чисто. Конечно, есть много способов справиться с этим:
- Я мог бы реструктурировать все свои скрипты, чтобы они были частью единого дерева
- Я мог бы добавить свой пакет в пакеты сайтов
- Я мог бы изменить sys.path в начале каждого скрипта.
- Возможно, другие вещи, о которых я не думал.
Все это в некотором роде далеко не идеально или другое хотя. Пока что №3 кажется лучшим из всех. Мне не нравится 1, потому что в контексте кодовой базы, отличной от Python, сценарии уже имеют наибольший смысл там, где они находятся сегодня, и я не хочу их перемещать. Мне не нравится 2, потому что это требует от пользователя выполнения шага настройки вручную, и в идеале все должно «просто работать».
Как другие люди справляются с этим на практике?