web-dev-qa-db-ja.com

プログラムとバージョン文字列のフォーマットでプログラムのバージョンを表示するPython argparse

Argparse内でプログラム名とバージョン情報を指定する好ましい方法は何ですか?

 __ version_info__ =( '2013'、 '03'、 '14')
 __ version__ = '-'。join(__ version_info __)
 ... 
パーサー。 add_argument( '-V'、 '--version'、action = 'version'、version = "%(prog)s(" + __ version __ + ")")
37
type

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

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

もちろん、パッケージにバージョン番号を標準的な方法で埋め込む必要があります: バージョンを埋め込む標準的な方法pythonパッケージ?

その方法に従っている場合は、__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__)
66
ecatmur