Предположим, у меня есть пакет python под названием mypackage, в котором есть серия скриптов. Когда mypackage входит в каталог site-packages, пользователь может, как обычно, ссылаться на различные файлы Python в mypackage как mypackage.submodule1, mypackage.submodule2 из Python. Однако некоторые из них являются сценариями, которые должны вызываться из командной строки. Например, в субмодуле1 у меня есть:
== mypackage/submodule1.py ==
if __name__ == '__main__':
main()
def main():
# parse command line options here, do stuff
Как правильно распределить / упаковать mypackage, чтобы пользователь мог без проблем использовать эти подмодули в качестве сценариев командной строки, когда «mypackage» находится на их пути? Я бы подумал, что вы можете сделать:
python mypackage.submodule1.py arg1 arg2 ...
но этот синтаксис недопустим. Другими словами, как пользователь может ссылаться на подмодули моего пакета как на скрипты, а не импортировать их из Py, не требуя, чтобы фактический каталог "mypackage" был в их PYTHONPATH? (В каталоге PYTHONPATH должен быть только каталог верхнего уровня, например site-packages, который содержит «mypackage».)
Спасибо.