使用distutils
,setuptools
等,在setup.py
以下位置指定软件包版本:
# file: setup.py
...
setup(
name='foobar',
version='1.0.0',
# other attributes
)
我希望能够从包中访问相同的版本号:
>>> import foobar
>>> foobar.__version__
'1.0.0'
我可以将其添加__version__ = '1.0.0'
到包的__init__.py中,但是我还想在包中包括其他导入,以创建包的简化接口:
# file: __init__.py
from foobar import foo
from foobar.bar import Bar
__version__ = '1.0.0'
和
# file: setup.py
from foobar import __version__
...
setup(
name='foobar',
version=__version__,
# other attributes
)
但是,foobar
如果这些其他导入导入尚未安装的其他软件包,则可能导致的安装失败。与setup.py和软件包共享软件包版本的正确方法是什么?