2011-05-26 65 views
2

如何從setup.py文件導入或讀取VERSION,以便我可以在運行時記錄版本。 這樣我就可以確保獲得的結果來自我的軟件包的這個特定版本。從distutils獲取版本setup.py

以下是我的setup.py文件的內容(簡化爲有需要的部分)

import distutils.core 
VERSION = '0.1.0' 
LICENSE = 'GPLv2' 
distutils.core.setup(**KWARGS) 

當我嘗試這樣做: 進口設置 我得到以下錯誤:

distutils.core.setup(**KWARGS) 
usr/lib/python2.6/distutils/core.pyc in setup(**attrs) 
     ok = dist.parse_command_line() 
    except DistutilsArgError, msg: 
     raise SystemExit, gen_usage(dist.script_name) + "\nerror: %s" % msg 

    if DEBUG: 

SystemExit: 

error: no commands supplied 

回答

0

在侑例如,設置自動excecuted,必須更換:

distutils.core.setup(**KWARGS) 

有:

python setup.py --version 

if __name__ == '__main__': 
    distutils.core.setup(**KWARGS) 

這樣,如果實際運行setup.py

+0

謝謝..這工作.. – Parikshit 2011-05-26 12:52:37

0

有辦法從你的安裝腳本獲取版本時,纔會執行設置但我不確定我是否理解「在運行時記錄版本」的含義;安裝腳本通常不隨您的模塊一起安裝,因此人們可以使用其他方式在其代碼中添加版本號,例如其模塊或__init__.py文件中的__version__屬性。