我正在学习在Openshift上部署Django。 现在我有一个python-2.7盒向上和Django 1.6 在墨盒克隆的git仓库正在运行,如何在Openshift上更新Django?
的git://github.com/rancavil/django-openshift-quickstart.git(Github)
如何更新正在运行的webapp的Django版本?
我看过this问题,只是解释更新墨盒,而我问的是更新墨盒内的包,同时保持墨盒与python-2.7相同。
我正在学习在Openshift上部署Django。 现在我有一个python-2.7盒向上和Django 1.6 在墨盒克隆的git仓库正在运行,如何在Openshift上更新Django?
的git://github.com/rancavil/django-openshift-quickstart.git(Github)
如何更新正在运行的webapp的Django版本?
我看过this问题,只是解释更新墨盒,而我问的是更新墨盒内的包,同时保持墨盒与python-2.7相同。
实现此目的的最简单方法是在setup.py
中更改设置依赖关系(install_requires
参数setup()
)。取而代之的
packages = ['Django<=1.6',]
在墨盒默认你可以写
packages = ['Django>=1.7,<1.8',]
,以获得最新版本的Django 1.7。有关如何指定值的更多详细信息,请参阅Python Packaging User Guide。
随着你的下一个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进行对齐。