【问题标题】:How do I update Django on Openshift?如何在 Openshift 上更新 Django?
【发布时间】:2015-05-15 16:57:44
【问题描述】:

我正在学习在 Openshift 上部署 Django。 现在我有一个 python-2.7 墨盒并与 Django 1.6 一起运行 克隆在墨盒中的 git repo 是,

git://github.com/rancavil/django-openshift-quickstart.git (Github)

如何更新正在运行的 webapp 的 Django 版本?

我查看了 this 问题,该问题仅解释了有关更新墨盒的信息,而我询问了有关更新墨盒内的软件包同时保持墨盒与 python-2.7 相同的问题。

【问题讨论】:

    标签: django python-2.7 deployment openshift updates


    【解决方案1】:

    实现此目的的最简单方法是更改​​setup.py 中的设置依赖项(setup ()install_requires 参数)。而不是

    packages = ['Django<=1.6',]
    

    在墨盒默认情况下你可以写

    packages = ['Django>=1.7,<1.8',]
    

    获取最新版本的 Django 1.7。有关如何指定值的更多详细信息,请参阅Python Packaging User Guide

    在您的下一个git push 中,将执行此文件并更新软件包(如果需要)。

    【讨论】:

      【解决方案2】:

      警告!

      • 确保新版本适合您的应用。 Django 1.7 带来了 DB 迁移功能,这可能会破坏您的兼容性。 (我们之前使用 South 时遇到了一些问题。)
      • 在应用升级备份之前应用实例快照(需要时间)

      实际上 git push 需要一些时间,而您的应用程序将关闭。 如果你想缩短时间,可以按照这个方法:

      ssh 进入您的应用程序 openshift 服务器

      pip install --upgrade Django==<new version>
      

      这将立即升级 django。但是,正在运行的 Web 进程仍然保留旧版本。所以需要重启 python 墨盒。

      从本地命令行:

      rhc cartridge restart -a <your app> -c python
      

      现在它使用新的 django 运行,停机时间最短。

      确保按照其他答案中的说明更新 setup.py,以便与下一个 git push 保持一致。

      【讨论】:

        猜你喜欢
        • 2016-01-17
        • 1970-01-01
        • 2015-09-10
        • 1970-01-01
        • 2013-08-08
        • 2012-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多