是否有一种标准方法可以将版本字符串与 Python 包相关联,以便我可以执行以下操作?
import foo
print(foo.version)
我想有一些方法可以在没有任何额外硬编码的情况下检索该数据,因为次要/主要字符串已经在 setup.py
中指定。 Alternative solution that I found was to have import __version__
in my foo/__init__.py
and then have __version__.py
generated by setup.py
.
原文由 Dimitri Tcaciuc 发布,翻译遵循 CC BY-SA 4.0 许可协议
不是直接回答你的问题,但你应该考虑命名它
__version__
,而不是version
。这几乎是一个准标准。标准库中的很多模块都使用了
__version__
,这个也用在了 很多 3rd-party 模块中,所以它是准标准。通常,
__version__
是一个字符串,但有时它也是一个浮点数或元组。正如 S.Lott(谢谢!)所提到的, PEP 8 明确指出:
您还应该确保版本号符合 PEP 440 ( PEP 386 是该标准的先前版本)中描述的格式。