首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python和PEP440 -这个关于PEP440的警告有多严重?

python和PEP440 -这个关于PEP440的警告有多严重?
EN

Stack Overflow用户
提问于 2014-12-16 05:49:51
回答 3查看 10.8K关注 0票数 14

为了体验开放的vSwitch,我不得不使用devstack基础设施安装OpenStack,并在日志中找到了以下内容:

代码语言:javascript
复制
/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定义了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-16 06:01:39

作为最终用户,这对您来说不应该是一个严重的问题,它只是意味着,由于指定的版本号不符合python包版本的规则,所以python打包系统无法可靠地识别该包的其他版本是在它之前还是之后。

特别是,它没有指定2014.2.2.dev5.g...应该在2014.2.2.dev5之前还是之后,因为规则没有说明g应该是什么意思。

这不太可能对您有太大影响;因为这两个版本都将是dev版本;而且严格来说,这两个版本都在2014.2.12014.2.2之间

票数 7
EN

Stack Overflow用户

发布于 2014-12-16 06:04:20

每个Python包都可以指定自己的版本。在其他方面,PEP440说版本规范应该存储在模块的__version__属性中,它应该是一个字符串,并且应该由主版本号、次版本号和内部版本号组成,用点(例如'2.7.8')表示或接受一些其他可选变体。在您正在安装的其中一个包中,开发人员似乎通过使用后缀'.gb329598'违反了这些建议。警告说,在某些情况下,这可能会使某些包管理器(setuptools和朋友)感到困惑。

似乎PEP440确实允许将任意的“本地版本标签”附加到版本说明符,但这些标签必须附加'+',而不是'.'

票数 7
EN

Stack Overflow用户

发布于 2014-12-16 06:01:55

这个警告并不是你真正需要担心的事情,它更多的是对开发人员的警告。

这基本上意味着有一个模块来识别版本号(哪些是最新的,等等)用于跟踪PyPi (python的包宿主)的依赖关系,以及给定版本的格式无法识别。

如果你只需要等到下一个补丁,它就会消失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27493792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档