为了体验开放的vSwitch,我不得不使用devstack基础设施安装OpenStack,并在日志中找到了以下内容:
/usr/lib/python2.7/site-packages/setuptools/dist.py:298: UserWarning: The version specified ('2014.2.2.dev5.gb329598') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.我在谷歌上搜索,发现PEP代表Python增强提案,PEP 440显然是一个特殊的提案,但我想知道这个警告有多严重,PEP 440定义了什么?
发布于 2014-12-16 06:01:39
作为最终用户,这对您来说不应该是一个严重的问题,它只是意味着,由于指定的版本号不符合python包版本的规则,所以python打包系统无法可靠地识别该包的其他版本是在它之前还是之后。
特别是,它没有指定2014.2.2.dev5.g...应该在2014.2.2.dev5之前还是之后,因为规则没有说明g应该是什么意思。
这不太可能对您有太大影响;因为这两个版本都将是dev版本;而且严格来说,这两个版本都在2014.2.1和2014.2.2之间
发布于 2014-12-16 06:04:20
每个Python包都可以指定自己的版本。在其他方面,PEP440说版本规范应该存储在模块的__version__属性中,它应该是一个字符串,并且应该由主版本号、次版本号和内部版本号组成,用点(例如'2.7.8')表示或接受一些其他可选变体。在您正在安装的其中一个包中,开发人员似乎通过使用后缀'.gb329598'违反了这些建议。警告说,在某些情况下,这可能会使某些包管理器(setuptools和朋友)感到困惑。
似乎PEP440确实允许将任意的“本地版本标签”附加到版本说明符,但这些标签必须附加'+',而不是'.'。
发布于 2014-12-16 06:01:55
这个警告并不是你真正需要担心的事情,它更多的是对开发人员的警告。
这基本上意味着有一个模块来识别版本号(哪些是最新的,等等)用于跟踪PyPi (python的包宿主)的依赖关系,以及给定版本的格式无法识别。
如果你只需要等到下一个补丁,它就会消失。
https://stackoverflow.com/questions/27493792
复制相似问题