2012-02-03 123 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 2012-02-03 09:19:37

+0

如果你有獨立的開發/部署路徑(這是一個非常推薦的方法),你仍然可以使用setuptools進行部署。否則,唯一的選擇是創建一個自動生成的文件,該文件保存當前版本並將其生成的代碼掛接到提交後腳本。 – abbot 2012-02-03 10:32:39

+0

這是否應該進入'changegroup'或'commit'掛鉤?什麼操作可以讓我創建一個名爲(或包含其中)修訂號的文件? – max 2012-02-17 03:05:17

相關問題