为什么我的 python 软件包将其版本列为 5.0.6?
Why does my python package list its version as 5.0.6?
我正在尝试遵循有关控制我正在编写的包的版本的建议 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
注释掉那个 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
中的 __init__.py
更改为:
from ._version import __version__
我正在尝试遵循有关控制我正在编写的包的版本的建议 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
注释掉那个 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
中的 __init__.py
更改为:
from ._version import __version__