微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用SVN和distutils为Python包分配版本号?

我正在写一个Python包.程序包需要在内部知道其版本号,同时还在distutils的setup.py脚本中包含此版本.

这样做的最佳方法是什么,因此版本号不需要在两个不同的位置维护?我不想从我的库的其余部分导入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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐