我正在写一个Python包.程序包需要在内部知道其版本号,同时在setup.py
脚本中也包含此版本distutils
.
这样做的最佳方法是什么,因此版本号不需要在两个不同的位置维护?我不想setup.py
从我的库的其余部分导入脚本(这看起来相当愚蠢),我不想从setup.py
脚本中导入我的库(同样).理想情况下,我只是设置一个关键字,svn
并自动将其替换为文件,但似乎不可能svn
.我可以在两个地方读取包含版本号的常见文本文件 - 这是最好的解决方案吗?
澄清一下:我想在一个地方保留版本号.是的,我可以在包中添加一个变量,然后再在setup.py
文件中.但是他们不可避免地会失去同步.
你的主要包装里面,你可能有一个__init__.py
,对吧?
目录结构:
> ./packageTest > ./packageTest/__init__.py > ./packageTest/setup.py
在__init__.py
文件内,添加以下行:
# package directory __init__.py __version__ = 1.0
setup.py文件:
# setup.py from packageTest import __version__ ...
现在在从包目录导入的任何模块中(我将调用packageTest),您可以这样做:
from packageTest import setup print 'Setup.py version:', setup.__version__ # prints Setup.py version: 1.0