2013-03-14 1 views
26

argparse内でプログラム名とバージョン情報を指定する好ましい方法は何ですか?プログラムのバージョンをprogとバージョン文字列の書式で表示するPythonのargparse

 
__version_info__ = ('2013','03','14') 
__version__ = '-'.join(__version_info__) 
... 
parser.add_argument('-V', '--version', action='version', version="%(prog)s ("+__version__+")") 

答えて

43

はい、それが受け入れられた方法です。 http://docs.python.org/dev/library/argparse.html#actionから:

>>> parser.add_argument('--version', action='version', version='%(prog)s 2.0') 

もちろん、標準的な方法であなたのパッケージにバージョン番号を埋め込むべきである:Standard way to embed version into python package?

あなたはその方法を以下している場合は、__version__変数を持っている:

from _version import __version__ 
parser.add_argument('--version', action='version', 
        version='%(prog)s {version}'.format(version=__version__)) 
例えば

、それはhttps://pypi.python.org/pypi/commando/0.3.2aで実証方法は次のとおり

parser.add_argument('-v', '--version', action='version', version='%(prog)s ' + __version__) 
+0

これは標準的な方法でどのように見えますか?あなたのバージョンの例をargparseコード行にverbatim "2.0"と置くことを参照してください... – type

+0

これは私の例ではない;それはドキュメントのものです。 – ecatmur

+0

なぜこれがダウンリストされたのかわかりません。それはどのようにドキュメントがそれを行うと言います。 – gecko

関連する問題