是否有Python方式来获取导入模块的git标签

我有一个函数库(krypton),最近我将其移到了自己的Python 3.7站点包中(在C:\ProgramData\Anaconda3\Lib\site-packages\krypton中)。我想使用git标记跟踪软件包的版本号,因为它在执行软件包时形成输出的一部分。我正在使用gitpython来做到这一点。

因此,我需要以可靠的方式找到krypton代码所在的目录,以便将其传递给gitpython Repo()方法,否则将导入脚本的CWD将被使用。

到目前为止,我是

import krypton
directory = os.path.split(krypton.__file__)[0]

repo = git.Repo(directory)
__sha__ = repo.head.object.hexsha
tags = repo.tags
if tags:
    __version__ = repo.tags[-1].name
else:
    __version__ = "unkNown"

所以我要在其内部导入krypton.py。哪个感觉不对,但是哪个似乎可以正常工作。我应该有更优雅/可靠/ Pythonic的方式吗?

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...