在setup.py

时间:2019-06-12 13:03:01

标签: python python-3.x packaging

我今天在玩python打包。我想在我的软件包中填充__version__关键字,但仅在pip install时填充。如果我在本地使用它,那么我希望该版本来自git describe。所以我有这个:

def get_version():
    """
    Get the version for the ground station. If the __version__.py exists, it uses the version in there. Otherwise
    it uses the git describe version
    """
    try:
        from . import __version__
        return __version__.__version__
    except ImportError:
        return get_git_tag()


def get_git_tag():
    """Return string of latest (annotated) git tag"""
    version = subprocess.check_output(["git", "describe", "--dirty", "--long"]).decode()
    version = version.rstrip()
    return version

效果很好。但是我想确保__version__.py仅存在于已发布的版本中,而不存在于我的工作仓库中,并且我不想冒__version__.py泄漏到我的开发工作区中的风险。

因此,在这一点上,我正在研究在setup.py中创建文件的方法,该文件仅存在于我的软件包的发行版中。我这样做时有任何提示或警告吗?

0 个答案:

没有答案