我想到的最简单的方案:

Dockerfile
+ git describe --tag > {项目目录}/version.txt
+ rm -rf .git

.dockerignoore
- .git

*.py
+ version = Path('version.txt').read_text() if Path('version.txt').exists() else None

.gitignore
+ version.txt

完事儿!