相关疑难解决方法(0)

使用setup.py和软件包共享软件包版本的正确方法是什么?

使用distutils,setuptools等,包版本指定在setup.py:

# file: setup.py
...
setup(
name='foobar',
version='1.0.0',
# other attributes
)
Run Code Online (Sandbox Code Playgroud)

我希望能够从包中访问相同的版本号:

>>> import foobar
>>> foobar.__version__
'1.0.0'
Run Code Online (Sandbox Code Playgroud)

我可以添加__version__ = '1.0.0'到我的包的__init__.py,但我还想在我的包中包含其他导入以创建包的简化接口:

# file: __init__.py

from foobar import foo
from foobar.bar import Bar

__version__ = '1.0.0'
Run Code Online (Sandbox Code Playgroud)

# file: setup.py

from foobar import __version__
...
setup(
name='foobar',
version=__version__,
# other attributes
)
Run Code Online (Sandbox Code Playgroud)

但是,foobar如果导入其他尚未安装的软件包,这些额外的导入可能会导致安装失败.使用setup.py和软件包共享软件包版本的正确方法是什么?

python distutils setuptools

62
推荐指数
4
解决办法
1万
查看次数

标签 统计

distutils ×1

python ×1

setuptools ×1