我正在写一个Python包.程序包需要在内部知道其版本号,同时还在distutils的setup.py脚本中包含此版本.
这样做的最佳方法是什么,因此版本号不需要在两个不同的位置维护?我不想从我的库的其余部分导入setup.py脚本(这看起来相当愚蠢),我不想从setup.py脚本(同样)导入我的库.理想情况下,我只是在svn中设置一个关键字并将其自动替换为文件,但在svn中似乎不可能.我可以在两个地方读取包含版本号的常见文本文件 – 这是最好的解决方案吗?
澄清一下:我想在一个地方保留版本号.是的,我可以在包中添加一个变量,并再次在setup.py文件中.但是他们不可避免地会失去同步.
解决方法:
在你的主程序包里面,你可能有一个__init__.py,对吧?
目录结构:
> ./packageTest
> ./packageTest/__init__.py
> ./packageTest/setup.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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。