为什么我的python包将其版本列为5.0.6?

时间:2018-06-07 13:19:43

标签: python versioning python-packaging

我正在尝试遵循关于控制我正在编写的包的版本的建议here。出于某种原因,版本总是按预期返回“5.0.6”而不是“1.0.0”。

为了尝试深入了解我已经制作了一个包含以下结构/文件的简单包:

\
    \VersioningExperiments\
        __init__.py
        _version.py

__init__.py看起来像这样:

from _version import __version__

_version.py看起来像这样:

__version__ = '1.0.0'

当我坐在根目录并运行以下命令时,我得5.0.6而不是1.0.0

python
Python 3.5.2 |Anaconda 2.5.0 (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import VersioningExperiments
>>> VersioningExperiments.__version__
'5.0.6'

如果我评论__init__.py来自AttributeError: module 'VersioningExperiments' has no attribute '__version__' 的lint:

5.0.6

那么{ "services": [ { "name": "test", "checks": [ { "script": "./test.sh", "interval": "15s" } ] } ] } 来自哪里呢?

1 个答案:

答案 0 :(得分:1)

好的,以防万一其他人碰到这个,我明白了:

>>> import _version
>>> _version.__version__
'5.0.6'
>>> _version.__file__
'C:\\Anaconda3\\lib\\site-packages\\_version.py'

我能找到的最简单的解决方法是将__init__.py中的Test更改为:

from ._version import __version__