web-dev-qa-db-fra.com

Python argparse pour montrer la version du programme avec le formatage de la chaîne de programme et de version

Quelle est la manière préférée de spécifier le nom du programme et les informations de version au sein d'Argparse?

[.____] __ Version_Info__ = ('2013', '03', '14', '14') 
 __ Version__ = '-'. Joindre (__________]] [.____] add_argument ('- V', '-Version', action = 'Version', version = "% (PROG) S (" + __ version __ + ")") [.____]
37
type

Oui, c'est la voie acceptée. De http://docs.python.org/dev/library/argparse.html#action :

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

Bien sûr, vous devez intégrer le numéro de version dans votre colis de manière standard: manière standard d'intégrer la version dans python package?

Si vous suivez cette méthode, vous avez un __version__ variable:

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

Par exemple, c'est la méthode démontrée à https://pypi.python.org/pypi/commando/0.3.2a :

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