是否有一种标准方法可以将版本字符串与python包关联起来,以便我可以执行以下操作?
import foo
print foo.version
Run Code Online (Sandbox Code Playgroud)
我想有一些方法可以在没有任何额外硬编码的情况下检索数据,因为setup.py已经指定了次要/主要字符串.我找到的替代解决方案是import __version__在我的foo/__init__.py,然后__version__.py生成setup.py.
我如何setup.py从我的包中获得定义的版本(用于--version或其他目的)?
在阅读了python文档(http://www.python.org/dev/peps/pep-0396/)之后,我对如何正确设置__version__包的属性感到困惑.有人提到将它们放入setup.py文件中,这让我感到困惑:它不可用my_package.__version__,是吗?
我最终从一个单独的文件中导入了version属性.
所以我的"版本"文件通常是
my_package/
__init__.py
my_module1/
...
my_module2/
...
my_module3/
...
info/
__init__.py
version.py
__version__ = '0.1.0'
Run Code Online (Sandbox Code Playgroud)
并在最上面__init__.py我导入__version__属性info.version:
import __version__
这样一来就可以获得版本号
my_package.__version__
Run Code Online (Sandbox Code Playgroud)
我只是想知道这是否是一个"好的"方法,如果有人反对这样做呢?我期待着您的意见和建议!