首页 > 解决方案 > 我应该按照哪个顺序在 Python、DJango 和 DJango-cms 中升级?

问题描述

我必须升级我的 python 项目,该项目目前在 Python 2.7 /Django 1.10.8和 Django-cms 3.4.5上运行。

要版本,Python 3.7 Django 2.2 Django-cms 3.6

我可以知道,我应该从哪里开始,有没有像 Pylint 这样的升级工具来做到这一点?

标签: pythondjangopython-3.xpython-2.7django-cms

解决方案


这是最安全的升级路线,因为它让您在每一步都处于支持窗口中。

  • 首先,从 python2.7 跳转到 python3.5(起初,由于版本支持,您只能进入 python 3.5 版本)。这也很可能是最困难的一步,因为需要从 python2.7->3 更新许多其他包和依赖项。
    • 当我过去解决这个问题时,我使用python-modernize来帮助完成代码迁移。但是,通过这些包将是一个缓慢的过程(确保你有某种形式的测试)。
  • 接下来将 django 升级到 1.11。
  • 然后将 django-cms 升级到 3.6(最新版本)
  • 现在将 django 升级到 2.2 版(最新版本,LTS)
  • 现在将python升级到3.7(最新版本)

按此顺序执行此操作将使您在整个升级过程中处于支持窗口中。

评论中对话的另一种选择是:由@dirkgroten@alasdair提供。这具有跳过 python3.5 升级的额外优势。

  • 将 django 升级到最新的 1.11.X(当前为 1.11.22)。您应该始终使用最新的 Django 次要版本,这样您就不会错过安全修复,并且直到 1.11.17 才添加 Python 3.7 支持。
  • 将 django-cms 升级到 3.6(最新版本)
  • 将 Python 升级到 3.7(最新版本)
  • 将 django 升级到最新的 2.2.X (LTS)

推荐阅读