【问题标题】:OpenShift repo not included in pathOpenShift 存储库未包含在路径中
【发布时间】:2015-02-23 12:25:32
【问题描述】:

我启动了一个 Django 1.7 OpenShift 实例。当我让 python 打印来自sys.path 的所有路径时,我看不到OPENSHIFT_REPO_DIR (/var/lib/openshift/xxxxx/app-root/runtime/repo)。

当我使用https://github.com/jfmatth/openshift-django17 创建项目时,我确实在路径中看到了OPENSHIFT_REPO_DIR

查看上面的示例应用程序,我没有看到专门添加到路径中的任何地方。我错过了什么?

澄清: 我必须在我的 wsgi.py 中添加以下内容:

import os
import sys
ON_PASS = 'OPENSHIFT_REPO_DIR' in os.environ
if ON_PASS:
    x = os.path.abspath(os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'mysite'))
    sys.path.insert(1, x)
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

OPENSHIFT_REPO_DIR 不像我预期的那样在我的路径中。当我使用上面的示例 git 时,我不必在路径中添加任何内容。

【问题讨论】:

  • 您能否提供更多信息,说明您正在尝试做什么以及为什么需要在 PATH 中使用该目录?

标签: openshift django-1.7 paas


【解决方案1】:

不久前,我遇到了一些预先配置的 OpenShift 环境变量的问题,直到我重新启动我的应用程序才出现。

为了它的价值,我启动了一个全新的 Django 设备,将环境变量打印到应用程序日志,并验证我确实正确地看到了 OPENSHIFT_REPO_DIR(和所有其他环境变量)。

【讨论】:

    【解决方案2】:

    此问题似乎是由于尝试使用 django 在使用 startproject 时生成的标准文件结构布局引起的。 Openshift 似乎需要更扁平的文件结构。一旦我将 wsgi 移动到 mysite 的同级,它就解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2016-09-03
      • 2022-11-24
      • 1970-01-01
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      相关资源
      最近更新 更多