2019-05-05 :-)
_ [python][setup.py]python パッケージの setup.py から version を取得する手法いくつか
Python 3.7.3 ドキュメント - 7.5. メタデータの読み込み
$ python setup.py --name distribute
>>> from distutils.dist import DistributionMetadata >>> metadata = DistributionMetadata() >>> metadata.read_pkg_file(open('distribute-0.6.8-py2.7.egg-info')) >>> metadata.name 'distribute' >>> metadata.version '0.6.8'
Single-sourcing the package version — Python Packaging User Guide
趣旨としては「バージョンを書く箇所を 1 箇所だけにしたい」というものですが。6 個ほど紹介されてます。
- 自力でパースする
- 他の Python パッケージを使う
- たとえば version.py に __version__ を定義して setup.py で読み込む
- VERSION ファイルを設置して setup.py から読み込む
- pkg_resources (setuptools の一部)を使う
- __init.py__ に __version__ を定義して setup.py で読み込む
[ツッコミを入れる]