С 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 и пакета?