是否有同时升级 Django 和 Python 版本的权威指南?

Is there a definitive guide for upgrading both Django and Python versions at the same time?

我在尝试将 Python 2.7/ Django 1.6.5 应用程序升级到 Python3.x/Django 1.8.x 网络应用程序。

更糟糕的是,我还有一个很大的django-cms依赖,需要从3.0.2升级到3.1.3。我已经开始使我的代码 Python3 友好,将需求文件升级到最新的 Django(加上依赖项),然后尝试此处描述的步骤:http://django-cms.readthedocs.org/en/latest/upgrade/3.1.html#upgrading-django-cms-3-0-to-3-1.

当我 运行 第一个命令时,我 运行 进入 Django 异常(django.core.exceptions.AppRegistryNotReady:应用程序尚未加载。),尽管我的 WSGI 处理程序是正确的,因为此处描述:Django 1.7 throws django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.

总之,这是一种方法。在另一种方法中,在使代码 Python3 友好之后,我尝试从 South 迁移升级到 Django 包含的迁移,并且它适用于我的应用程序,直到达到关于 django-cms 的表的巨大数据库不一致:整个列存在于迁移中,但不存在于数据库中,缺少列等等。

我知道这可能让我难以消化,但我能做什么呢?有解决这个问题的正确方法吗?

I'm having an extremely tough time out there in trying to upgrade a Python 2.7/ Django 1.6.5 application to a Python3.x/Django 1.8.x web application.

I also have a big django-cms dependency, which is required to upgrade from 3.0.2 to 3.1.3

我建议从“最简单”到“最难”。从 Django 1.6 迁移到 1.8 比从 Python 2.x 升级到 3.x 更容易呈指数,仅仅是因为 Python 2 和Python 3 个在某些地方大不相同。

考虑到这一点:

  1. 将 django 从 1.6.5 升级到 1.6.11 - 这应该是一个微不足道的步骤,但却是必需的,因为 django-cms v3.1.x requires django>=1.6.9
  2. 检查一切正常
  3. 将 django-cms 从 3.0.2 升级到 3.1.3 - 这应该很简单 pip upgrade
  4. 仔细检查一切正常
  5. 将 django 从 1.6.11 升级到 1.8 - 这会很难,而且 django 1.6 中的某些内容可能不再存在。只是 pip upgrade 并在发现错误时将其敲下来。
  6. 三重检查一切正常
  7. 将 python 从 2.7 升级到 3.x - 这将是一场噩梦,2to3six 可能会有所帮助, 但并不多。祈祷。
  8. 四重检查一切正常

最后一步无疑是最难的,也是最有可能破坏事物的。较早的是更直接的升级。但是,在确定您的代码每一步

之前,请不要继续前进