【问题标题】:What is the prefered way to expose a module version number? [duplicate]公开模块版本号的首选方式是什么? [复制]
【发布时间】:2013-05-30 22:26:22
【问题描述】:

什么是/是否有一种首选方式来公开模块版本号?

  • Python 本身使用内置元组 sys.version_info:

    >>> sys.version_info
    sys.version_info(major=3, minor=3, micro=0, releaselevel='final', serial=0)
    
  • MySQLdb(例如)使用一个普通的元组:

    >>> MySQLdb.version_info
    (1, 2, 3, 'final', 0)
    
  • 一些第三方库使用字符串__version__

    >>> requests.__version__
    '1.2.3'
    
  • 一些框架使用元组VERSION

    >>> django.VERSION
    (1, 6, 0, 'alpha', 0)
    

...显然,这件事有很多不同的用法!

【问题讨论】:

    标签: python


    【解决方案1】:

    根据PEP 396,应该是module.__version__。根据该 PEP,您应该使用 PEP 386 中的 Normalized Version 样式来决定应该如何编写。

    看起来PEP 440 的草稿版本将取代 386。

    【讨论】:

    • 太棒了!感谢您对相应 PEP 的指点。
    猜你喜欢
    • 2018-06-15
    • 2017-01-06
    • 2019-11-17
    • 2012-12-06
    • 2012-11-27
    • 2011-10-18
    • 1970-01-01
    • 2012-05-21
    • 1970-01-01
    相关资源
    最近更新 更多