51

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

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

1 に答える 1

95

はい、それは受け入れられた方法です。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__)
于 2013-03-14T10:25:43.890 に答える