Python で記述されたコマンドライン プログラム (具体的には argparse を使用するdocoptmy-program command1 args
を使用) があり、それをの代わりにとして実行したい場合python my-program.py command1 args
、どうすればよいですか? 今のところ、これは Debian ベースの OS (Ubuntu など) 用です。
私は通常、モジュールをパッケージにするので、すでに持っていますsetup.py
が、無料のコマンドは許可されません。
ありがとう!
編集
@pyrospade は、以下の非常に優れたリンクを提供しました。私は私の結果を共有するつもりです。
私たちが持っているとしましょう
top-level-directory
setup.py
package/
__init__.py
cli.py
シェルでscripts=['package/cli.py']
アクセスしたい場合に利用できます。cli.py
として実行したい場合my-cli
は、使用できます
entry_points={
'console_scripts':
['my-cli=package.cli:main']
}
を使っているのでdocopt
、これを持っています
def dispatcher(...)
def fun1(....)
def main():
arguments = docopt(COMMAND, version="xxxx")
dispatcher(arguments)
if __name__ == '__main__':
main()
__init__.py
と言って下に置くこともでき['my-cli=package:main']
ますが、繰り返しますが、という関数が必要ですmain()
。ただし、任意の名前を付けることができます。ただ言って。