Python在脚本中记录导入模块版本的最佳方法

时间:2016-06-06 15:57:24

标签: python module documentation pep

在单个python脚本中记录导入模块版本的最佳方法或PEP约定是什么?有时我必须使用由于模块不兼容而无法运行的旧脚本(例如,脚本是使用pandas 0.15.0和matplotlib 1.3.0编写的,现在我使用pandas 0.18.1和matplotlib 1.5.1)。例如,如果脚本的第一部分在评论中包含pandas(和其他导入模块)版本,那将是很好的,例如:

"""my_script_version = '0.0.1'
pandas_version = '0.15.0'
matplotlib_version = '1.3.0'
other_imported_module_version = 'x.y.z'
"""

或者有没有官方的方法来做到这一点?像使用一些metadatas的东西?

__version__ = '0.0.1'
__date__ = '2016-06-06'
__author__ = 'ragesz'

__pandas_version__ = '0.15.0'
__matplotlib_version__ = '1.3.0'
__other_imported_module_version__ = 'x.y.z'

谢谢!

2 个答案:

答案 0 :(得分:2)

PEP 518最近已就您的问题被接受。

依赖关系必须存储在特定文件中 pyproject.toml

[build-system]
# Minimum requirements for the build system to execute.
requires = ["setuptools", "wheel"]  # PEP 508 specifications.

PEP 508指定要求的语法。

答案 1 :(得分:1)

在脚本中添加信息的最佳方式是白名单元数据,例如:

__version__="1.0.2"
__appname__="name script"
__author__="author"
__description__="short description"
__long_description__="long description for your script"
__author_email__="author@gmail.com"