Предположим, у меня есть пакет python под названием mypackage, в котором есть серия скриптов. Как только mypackage находится в каталоге site-packages, пользователь может ссылаться на различные файлы Python в mypackage как mypackage.submodule1, mypackage.submodule2 из Python, как обычно. Тем не менее, некоторые из них - это сценарии, предназначенные для вызова из командной строки. В submodule1, например, у меня есть:правильный способ распространения сценариев запуска с пакетом python?
== 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? (Только каталог верхнего уровня, например сайт-пакеты, который содержит «mypackage», должен находиться в их PYTHONPATH.)
Спасибо.
В osx это, кажется, помещает скрипты в '/ opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin', который не находится в PATH. – qed