2016-06-06 15 views
0

Was ist der beste Weg oder PEP-Konvention, um die Versionen von importierten Modulen in einzelnen Python-Skripten zu dokumentieren? Manchmal muss ich ältere Skripte benutzen, die wegen Modulinkompatibilität nicht laufen (zum Beispiel wurde das Skript mit Pandas 0.15.0 und Matplotlib 1.3.0 geschrieben, und jetzt benutze ich Pandas 0.18.1 und Matplotlib 1.5.1). Es wäre zum Beispiel toll, wenn der erste Teil des Skripts Pandas (und anderen importierten Moduls) Version in Kommentar, wie enthalten würde:Python beste Möglichkeit, importierte Modulversion in Skripten zu dokumentieren

"""my_script_version = '0.0.1' 
pandas_version = '0.15.0' 
matplotlib_version = '1.3.0' 
other_imported_module_version = 'x.y.z' 
""" 

Oder gibt es einen offiziellen Weg, dies zu tun? Etwas wie die Verwendung einiger Metadatas?

__version__ = '0.0.1' 
__date__ = '2016-06-06' 
__author__ = 'ragesz' 

__pandas_version__ = '0.15.0' 
__matplotlib_version__ = '1.3.0' 
__other_imported_module_version__ = 'x.y.z' 

Vielen Dank!

Antwort

1

PEP 518 wurde kürzlich in Bezug auf Ihre Frage akzeptiert.

Abhängigkeiten hat in einer bestimmten Datei pyproject.toml

[build-system] 
# Minimum requirements for the build system to execute. 
requires = ["setuptools", "wheel"] # PEP 508 specifications. 

PEP 508 angeben Syntax für die Anforderungen gespeichert werden.

+0

Thank you! Ich weiß, dass ich zum Beispiel 'pd .__ version__' für Pandas (und für andere Module) bekommen kann. Was ich nicht weiß, dass der Code-Stil ist, die Versionsnummer in mein Python-Skript einzufügen. In einen Kommentar eintragen? Oder in einer Variablen speichern? Oder anders? – ragesz

+0

Erklären Sie einfach ie: '__version__ = '0.1.0'' in Ihrem Modul (folgende Spezifikation in https://www.python.org/dev/peps/pep-0440/) – Jona

+0

Ich habe meine Frage zum besseren Verständnis bearbeitet und aktualisiert (Ich möchte die Versionen importierter Module "speichern", nicht meine Skriptversion). – ragesz

0

Der beste Weg, Informationen zu Ihrem Skript hinzuzufügen ist Whit Metadaten, zum Beispiel:

__version__="1.0.2" 
__appname__="name script" 
__author__="author" 
__description__="short description" 
__long_description__="long description for your script" 
__author_email__="[email protected]"