使用pyproject.toml时如何仅在一处指定版本?

我的包版本在两个地方定义:

  • __version__ = 1.2.3mypackage/__init__.py
  • version = "1.2.3"pyproject.toml(我正在使用诗歌)

每当我遇到烦人而不是 DRY 的版本时,我都必须更新两者。有没有办法让 Python 从 TOML 读取版本,或者让 TOML 从 Python 读取版本?

回答

安装项目后 - 无论是在可编辑模式下poetry install还是从轮子 - 您可以通过importlib.metadataimportlib_metadata对于python <3.8)访问多个元数据。

因此,仅保留版本pyproject.toml并在您的 python 代码中使用它:

import importlib.metadata

__version__ = importlib.metadata.version("mypackage")


以上是使用pyproject.toml时如何仅在一处指定版本?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>