Po przeczytaniu dokumentacji Pythona (http://www.python.org/dev/peps/pep-0396/) byłem bardziej zdezorientowany niż wcześniej, jak odpowiednio ustawić atrybut __version__
dla paczek. Wspomniano o umieszczeniu ich w pliku setup.py
, co wprowadza mnie w zakłopotanie: nie byłby dostępny jako my_package.__version__
, prawda?Tworzenie atrybutu __version__ dla pakietów Pythona bez kłopotów
Skończyłem, aby zaimportować atrybut wersji z oddzielnego pliku.
Więc moja "wersja" plik jest zazwyczaj
my_package/
__init__.py
my_module1/
...
my_module2/
...
my_module3/
...
info/
__init__.py
version.py
__version__ = '0.1.0'
iw najwyższym __init__.py
importować atrybut __version__
z info.version
:
import __version__
tak, że można uzyskać numer wersji poprzez
my_package.__version__
Zastanawiam się tylko, czy jest to podejście "w porządku", a jeśli coś przemawia przeciwko robieniu tego w ten sposób? Z niecierpliwością czekam na Wasze opinie i sugestie!
Ściśle związane: [Co to jest poprawny sposób udostępnić pakiet wersja z setup.py i pakietem?] (http://stackoverflow.com/q/17583443), która wymaga użycia 'setuptools' zamiast' distutils'. Nie, ustawienie wersji w 'setup.py' nie spowoduje udostępnienia jej jako' my_package .__ version__'. –
Sprawdzę drugi wątek, dziękuję! – Sebastian