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

为什么我的python包将其版本列为5.0.6?,python,versioning,python-packaging,Python,Versioning,Python Packaging,我正试图遵循关于我正在编写的软件包版本控制的建议。由于某些原因,该版本总是返回为“5.0.6”,而不是预期的“1.0.0” 为了弄清这一点,我制作了一个简单的包,其中包含以下结构/文件: \ \VersioningExperiments\ __init__.py _version.py 其中\uuuu init\uuuuu.py如下所示: from _version import __version__ __version__ = '1.0.0' 而

我正试图遵循关于我正在编写的软件包版本控制的建议。由于某些原因,该版本总是返回为“5.0.6”,而不是预期的“1.0.0”

为了弄清这一点,我制作了一个简单的包,其中包含以下结构/文件:

\
    \VersioningExperiments\
        __init__.py
        _version.py
其中
\uuuu init\uuuuu.py
如下所示:

from _version import __version__
__version__ = '1.0.0'
\u version.py
看起来是这样的:

from _version import __version__
__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'
如果我从
\uuuu init\uuuuuuy.py
中注释掉该lint,我会得到:

AttributeError: module 'VersioningExperiments' has no attribute '__version__'

那么
5.0.6
究竟从何而来

好吧,万一有人碰到这个,我明白了:

>>> import _version
>>> _version.__version__
'5.0.6'
>>> _version.__file__
'C:\\Anaconda3\\lib\\site-packages\\_version.py'
我能找到的最简单的修复方法是将
Test
中的
\uuu init\uuu.py
更改为:

from ._version import __version__

是的,这是我根据下面的答案发现的魔术。如果你把它作为一个答案加上一个解释,解释为什么它会修复它,我会接受你的答案。不,你是对的,你的答案已经解决了它。我的意思是,要想得到更深入的解释,你可以检查一下或者。