如何在 Openshift 上更新 Django?
How do I update Django on Openshift?
我正在学习在 Openshift 上部署 Django。
现在我有一个 python-2.7 墨盒和 运行 Django 1.6
在墨盒中克隆的 git 回购是,
git://github.com/rancavil/django-openshift-quickstart.git (Github)
如何更新 运行 webapp 的 Django 版本?
我查看了 this 问题,该问题只是解释更新墨盒,而我询问的是更新墨盒内的包,同时保持墨盒与 python-2.7 相同。
实现这一点的最简单方法是更改 setup.py
中的设置依赖项(setup ()
的 install_requires
参数)。而不是
packages = ['Django<=1.6',]
如墨盒默认值,您可以这样写
packages = ['Django>=1.7,<1.8',]
获取最新版本的Django 1.7。有关如何指定值的更多详细信息,请参阅 Python Packaging User Guide.
如果需要,下一个 git push
将执行此文件并更新包。
警告!
- 确保新版本适用于您的应用。 Django 1.7 带来了数据库迁移功能,这可能会破坏您的兼容性。 (我们之前使用南方时遇到了一些问题。)
- 在应用升级备份应用程序实例快照之前(需要时间)
实际上 git 推送需要一些时间,而您的应用程序将会关闭。
如果想缩短时间,可以按照这个方法:
ssh 进入您的应用 openshift 服务器
pip install --upgrade Django==<new version>
这将立即升级 django。然而 运行 网络进程仍然保留旧版本。所以你需要重新启动 python 墨盒。
来自您的本地命令行:
rhc cartridge restart -a <your app> -c python
现在是 运行 新的 django,停机时间很短。
确保按照另一个答案中提到的那样更新 setup.py,以便与下一个 git 推送保持一致。
我正在学习在 Openshift 上部署 Django。 现在我有一个 python-2.7 墨盒和 运行 Django 1.6 在墨盒中克隆的 git 回购是,
git://github.com/rancavil/django-openshift-quickstart.git (Github)
如何更新 运行 webapp 的 Django 版本?
我查看了 this 问题,该问题只是解释更新墨盒,而我询问的是更新墨盒内的包,同时保持墨盒与 python-2.7 相同。
实现这一点的最简单方法是更改 setup.py
中的设置依赖项(setup ()
的 install_requires
参数)。而不是
packages = ['Django<=1.6',]
如墨盒默认值,您可以这样写
packages = ['Django>=1.7,<1.8',]
获取最新版本的Django 1.7。有关如何指定值的更多详细信息,请参阅 Python Packaging User Guide.
如果需要,下一个 git push
将执行此文件并更新包。
警告!
- 确保新版本适用于您的应用。 Django 1.7 带来了数据库迁移功能,这可能会破坏您的兼容性。 (我们之前使用南方时遇到了一些问题。)
- 在应用升级备份应用程序实例快照之前(需要时间)
实际上 git 推送需要一些时间,而您的应用程序将会关闭。 如果想缩短时间,可以按照这个方法:
ssh 进入您的应用 openshift 服务器
pip install --upgrade Django==<new version>
这将立即升级 django。然而 运行 网络进程仍然保留旧版本。所以你需要重新启动 python 墨盒。
来自您的本地命令行:
rhc cartridge restart -a <your app> -c python
现在是 运行 新的 django,停机时间很短。
确保按照另一个答案中提到的那样更新 setup.py,以便与下一个 git 推送保持一致。