Я делаю много работаю над разными проектами (я ученый) в довольно стандартизированной структуре каталогов. например:
project
/analyses/
/lib
/doc
/results
/bin
Я помещаю все свои различные служебные скрипты в / bin /, потому что чистота близка к благочестию. Однако мне нужно жестко указать пути ( например ../../x/y/z), а затем мне нужно запустить что-то внутри ./bin/, иначе они сломаются.
Я использовал Django, и у него есть /manage.py, который запускает различные django-вещи и автоматически обрабатывает путь.Я также использовал ткань для запуска различных пользовательских функций.
Вопрос: Как мне сделать нечто подобное? а как лучше? Я могу легко написать что-нибудь в /manage.py, чтобы внедрить корневой каталог в sys.path и т. Д., Но тогда я хотел бы иметь возможность делать "./manage.py foo", который запускал бы /bin/foo.py. Или можно заставить фабрику вызывать исполняемые файлы из определенного каталога?
В основном - я хочу что-нибудь простое и не требующее обслуживания. Я хочу иметь возможность перетащить исполняемый скрипт / файл / что угодно в ./bin/ и не иметь дело с проблемами пути или проблемами импорта.
Как лучше всего это сделать?