2012-02-03 3 views
2

Каждый раз, когда запускается приложение Python, он создает журнал. Я хочу включить в этот журнал номер версии кода, который был выполнен. Как я могу это сделать?Доступ к текущему номеру редакции

Я использую Python 3.2, Windows TortoiseHg 2.2.2 с Mercurial 2.0.2.

ответ

2

Если вы используете setuptools для распространения вашего приложения/пакета, вы можете получить доступ к установленной версии пакета во время выполнения, используя pkg_resources.get_distribution("my_package").version. Однако Setuptools не поддерживает автоматическую версию мечения с ртутным версиями, так что вам придется строить свои дистрибутивы с командами, как:

python3 setup.py egg_info -b -$(hg heads --template "{node|short}" `hg branch`) sdist 

или

python3 setup.py egg_info -b -$(hg heads --template "{node|short}" `hg branch`) setup 
+0

На самом деле, я не распространять приложения; Я запускаю его только на своей машине (вызывая 'main.py' непосредственно из командной строки ...) – max

+0

Если у вас есть отдельные пути разработки/развертывания (это очень рекомендуемый подход), вы все равно можете использовать setuptools для развертывания. В противном случае единственным вариантом было бы создание автогенерированного файла, который содержит текущую версию, и привязать его генерацию к сценарию post-commit. – abbot

+0

Должно ли это входить в 'changegroup' или' commit'? И какая операция позволила бы мне создать файл с именем (или содержать внутри него) номер версии? – max

Смежные вопросы