我们有一个在Python 2.2.1上运行的遗留应用程序。现在我们需要升级到最新版本的Python(3.4)。
我想了解有关升级的一些细节:
到处都谈到将2.6升级到3并且无处可覆盖2.2.1到3.是否可以直接升级?
答案 0 :(得分:5)
为了扩展我的评论,the PyPorting docs提出了一个我认为在这里也很有用的七个步骤:
只担心支持Python 2.7 - 如果您首先确保代码在最新的2.x分支中运行,则升级到3会更容易。如果你很幸运,这不需要做太多改变!
确保您拥有良好的测试覆盖率 - 对任何重大变化至关重要。如果您现在无法确定它是否正常工作,您将如何确保它在升级后正常工作?
了解Python 2& 3 - 每cdarke's comment,您可能需要进行一些人工干预,因此需要知道改变了什么。在您的情况下,这可能还涉及了解2.x版本之间的差异。您可以使用What's new in Python x.x?来提供帮助。
使用Modernize或Futurize更新您的代码 - 自动化工具,使您的代码准备就绪3.x文档说明如果您不在,可以使用2to3
&# 39; t想保留2.x兼容性)。
使用Pylint帮助确保您不会在Python 3支持上退步 - pylint
会为您提供大量有用的警告,以帮助您更好地改进代码。
使用caniusepython3找出哪些依赖项阻止您使用Python 3 - 您询问有关库的更新;这个工具可以告诉你3.x兼容的是什么。您可能需要找到某些依赖项的兼容替换项;见PyPI。
使用持续集成确保您与Python 2& 3 - 无论您想要支持哪种版本,良好的CI都可以确保在修改代码时与所有版本保持兼容。
答案 1 :(得分:2)
我建议您查看类似的内容:2to3 这个想法是你可以在旧文件上运行程序,并将其转换为3.4兼容代码。祝你好运!