【发布时间】:2020-07-13 18:08:33
【问题描述】:
有一个我可以访问的存储库,在克隆到我的本地计算机后,我从脚本中收到语法错误。有什么方法可以准确的检查出它最初是用哪个版本写的?
【问题讨论】:
-
假设您没有可能指定支持版本的
Pipfile、setup.py或 Herokuruntime.txt或类似名称,我将首先查看您遇到的特定语法错误得到。这应该有助于很快缩小范围。
有一个我可以访问的存储库,在克隆到我的本地计算机后,我从脚本中收到语法错误。有什么方法可以准确的检查出它最初是用哪个版本写的?
【问题讨论】:
Pipfile、setup.py 或 Heroku runtime.txt 或类似名称,我将首先查看您遇到的特定语法错误得到。这应该有助于很快缩小范围。
不,没有。也许您可以通过经验测试做的最好的事情是平分搜索空间:尝试“中间”Python 版本,然后根据结果移动旧版本或更新版本。
您可以通过注意代码中的独特功能来稍微减少这种搜索。例如,使用print 作为命令而不是函数调用,建议使用 Python 2.7 或更早版本; f-strings 直到 3.6 才出现(感谢 Chris 的更正)。
不过,没有内置的标识 - 尤其是在问题并非完全确定的情况下。例如,print(value) 将在 Python 2.6 中工作,尽管它建议使用 Python 3。
此外,很有可能“写入”特定的 Python 版本而不使用任何版本升级。我的一些专业代码是针对 3.6 及更高版本的,虽然大部分是在 3.4 中运行的,并且一些模块在 2.7 中可以正常运行。
【讨论】: