在Python包中,我正在使用以下setup.cfg
文件:
[egg_info]
tag_build = dev
tag_date = 1
tag_svn_revision = 1
但是,当我运行python setup.py sdist
时,SVN修订版显示为-r0
。这可能是因为我没有运行安装脚本的.svn
目录;事实上我的树是
main_dir/
.svn/
branches/
trunk/
setup.py
setup.cfg
如何告诉setuptools
在父目录中找到SVN修订号?我仍然想继续使用我的包版本号码。
答案 0 :(得分:2)
如果您愿意安装其他软件包,可以通过其他方式解决-r0
问题。自版本10以来,Setuptools不支持SVN元数据。该功能已移至setuptools_svn包。
答案 1 :(得分:1)
我目前的解决方案是合并this answer并手动构建版本(减去shell=True
选项):
# Hat tip: https://stackoverflow.com/a/1501219/204634
import subprocess
def svnversion():
p = subprocess.Popen("svnversion", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(stdout, stderr) = p.communicate()
return stdout
_version = '{}-{}'.format(my_pkg_version, svnversion())
虽然setup.cfg
文件包含:
[egg_info]
tag_build = dev
tag_date = 1