【问题标题】:openshift Gear postreceive Error in python djangopython django中的openshift Gear postreceive错误
【发布时间】:2013-06-27 15:45:15
【问题描述】:

我将我的 django 应用程序部署在

django-appspot.rhcloud.com

直到昨天一切正常。但是后来当我推送我的代码时,我发现部署脚本的错误是在

附近的操作挂钩中

"$OPENSHIFT_REPO_DIR"wsgi/openshift/manage.py collectstatic --noinput"

这是我在推送代码时收到的错误消息。

https://gist.github.com/maksudc/5894335

这是构建脚本:

https://gist.github.com/maksudc/5894366

它说资源管理器实例没有属性'_warn_unsafe_extraction'

但直到昨天一切正常。

目前我的应用程序已停止。我无法启动它。就算没修好。我需要下载我的媒体目录。

我能做什么??

【问题讨论】:

  • ->我 sshed 进入应用程序 -> 安装分发和 PIP -> 通过命令 ctrl_app start 启动应用程序但是似乎我每次推送代码时都需要这样做。请指定一些解决方案,以便我可以像以前一样快速工作。就目前而言,这可能是一种方法。我们计划将我们的帐户升级为高级帐户,但此类事件让我们重新考虑。
  • 你能写一份关于这个问题的错误报告吗:bugzilla.redhat.com/enter_bug.cgi?product=OpenShift%20Online

标签: django python-2.7 openshift


【解决方案1】:

尝试将 setuptools 降级到 0.6c11。

在将 setuptools 升级到 0.7.5 后,我的项目中遇到了同样的问题,所以这似乎是那个版本的问题。

(如果有人能进一步说明如何以及为什么,那就太好了)

【讨论】:

  • 降级到 0.7.2 为我解决了这个问题。
【解决方案2】:

我遇到了同样的问题并发布到 Openshift 论坛:

https://www.openshift.com/forums/openshift/python-app-crashes-with-new-setuptools-v075

通过重建 virtualenv 解决了这个问题。为此,您可以在 repo 的 ./openshift/markers 中添加 force_clean_build 标记,然后执行 git push。我的应用现在可以使用 setuptools 0.7.7。

【讨论】:

    【解决方案3】:

    感谢大家的解决方案。

    我认为 Openshift 权威已将 setuptools 降级为 0.6.c11

    所以现在我可以再次快速推送我的代码了。

    我已经 ssh 进入服务器并检查了它当前使用的版本。我找到了 setuptools 0.6c11

    【讨论】: