在setup.py中使用setuptools.setup值显示__version__。

问题描述 投票:0回答:1

我有一个打包的项目 mytools 它使用setuptools的setup将其版本存储在setup.py项目文件中,例如。

import setuptools

setuptools.setup(
name='mytools',
version='0.1.0'
)

我想得到常见的 mytools.__version__ 基于版本值的功能,比如说。

import mytools
mytools.__version__
>>>'0.1.0'

在setuptools中有没有本地的简单方法来实现?找不到关于 __version__ 此外,我也不想把版本存储在setuptools中。__init__.py 因为我更希望保留目前的版本(setup.py)。对类似问题的许多回答并不能解决我的具体问题,例如:如何在我的包中获取 setup.py (setuptools) 中定义的版本?如何在我的包中获取 setup.py (setuptools) 中定义的版本?

python setuptools
1个回答
1
投票

添加 __version__ 对所有顶层模块和包的推荐是来自于 PEP 396.

最近,我看到越来越多的人关注这个建议及其实际用途,例如这里。

说到这里...

这样的事情往往会有如下的解决方法。

# my_top_level_module/__init__.py

import importlib.metadata

__version__ = importlib.metadata.version('MyProject')

参考文献:

© www.soinside.com 2019 - 2024. All rights reserved.