这不是相关问题When/where should I check for the minimum Python version?的重复。
我的问题是,我不确定这首先是不是一个好主意。
我的程序以(X现在无关紧要)开始:
if sys.version_info < (3, X):
raise RuntimeError("Python ver. 3.X or higher is required")
我不记得为什么我把那个测试放在那里。
嗯,它给出了一个明确的信息,而不是一些模糊的错误,但这就是全部。
该程序正在开发中,并且保持X最新并不容易。我不想详细介绍,以避免基于意见的讨论设置X.
我想将问题简化为简单的是或否进行版本检查。是否有现有指南?
答案 0 :(得分:3)
完全取消支票。此信息属于包元数据,因此它将在安装时中捕获 - 而不是在运行时。
您显然没有在此处编写交叉compat库,因此唯一应包含有关受支持的Python版本信息的.py
文件是setup.py
文件。
(注意:即使您正在编写交叉compat库,最佳做法通常是将任何特定于版本的详细信息隔离到单独的compat.py
模块中)
答案 1 :(得分:0)
一些选择:
您是否可以在添加该行时检查提交消息,看看您是否抱怨其中的某些内容?也许然后做一个差异,看看在添加线之前和之后发生了什么变化。它可以引导您到特定部分并告诉您为什么您坚持使用X.
您还可以访问文档https://docs.python.org/3/whatsnew/3.X.html中的“ Python 3.X 中的新功能”部分,并找出使您想要Python 3的更改内容。 X而不是Python 3.(X-1)(Python本身的一种差异)。无论您必须提出例外而不是发出警告的原因,它都必须在更改日志中。