gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 02:50:42 28 4
gpt4 key购买 nike

我正在编写一个 Python 包。该包需要在内部知道其版本号,同时还需要将此版本包含在 distutilssetup.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

关于python - 如何使用 SVN 和 distutils 为 Python 包分配版本号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/631813/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com