我想在 openshift 中安装 www.planetplanet.org。我在 openshift 上托管了一些 php 应用程序,但不确定 python 应用程序如何工作。openshift 模板为我提供了一个 wsgi.py 文件,该文件需要“应用程序”模块/函数作为其起点。我不确定将其指向哪里。planetplanet 代码布局是这里我怀疑我必须将“应用程序”指向星球/在里面.py。虽然不知道该怎么做。
在搜索过程中,我偶然发现了https://github.com/shekhargulati/schedapp-openshift这是 openshift 上的一个简单的 python 应用程序,它的 wsgi.py 中有以下一行:
from sched.app import app as application, db
但是planetplanet似乎不是一个可以通过这种方式加载的模块。
我试过:
from planet.planet import planet as application
但该操作失败,服务器上出现以下消息:
ImportError: No module named planet.planet
编辑:我发现 planetplanet 只是在我的输出目录中转储一个静态 index.html,所以我现在只需要确保 wsgi 应用程序指向我的输出目录来提供 html。
有什么指点/建议吗?
谢谢!
答案1
所以我做了这样的事情:
response_body = open(os.environ['OPENSHIFT_REPO_DIR'] + 'planet/virt/output/index.html').read()
在默认
def application
wsgi.py 脚本的一部分。这使得静态 html 可以工作,但显然没有 css。
但后来我发现 openshift 也在非 python 应用程序中提供了 python 二进制文件,所以我只需创建了一个 DIY 应用程序,导入 planetplanet 源,并使用 cron 脚本中的 python 来更新 feed;并使用 diy/ 目录中的默认 testrubyserver.rb 来提供 index.html。
答案2
在默认
def application
添加中
ctype = 'text/html'
open(os.environ['OPENSHIFT_REPO_DIR']+'/blabla.html')
重要提示:不要忘记“text/html”返回类型。