11

我正在尝试按照他们的 wiki 上的说明在Dreamhost 共享服务器上运行 Flask“hello world”应用程序,但我没有任何运气。

我的 Flask 应用程序是Flask 快速入门指南中的“hello world”应用程序:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

根据 DH wiki 说明,我在名为 mysite 的文件夹中保存了一个名为“hello.py”的文件。我的passenger_wsgi.py 文件是:

import sys, os
INTERP = os.path.join(os.environ['HOME'], 'flask_env', 'bin', 'python')
if sys.executable != INTERP:
    os.execl(INTERP, INTERP, *sys.argv)
sys.path.append(os.getcwd())
from mysite import hello as application

我尝试在 Python 控制台中运行命令,最后导入行失败,直到我将__init__.py文件添加到 mysite 目录。

当我尝试访问该网站时,我只收到一个 500 错误(不幸的是,日志中没有任何内容,除非它们在我无法访问的日志中,因为这是一个共享服务器......)。

由于这是最基本的设置(即,从 wiki 复制和粘贴),我不禁觉得我错过了一些非常简单的东西。或者这在共享服务器上是不可能的?

4

1 回答 1

21

回答我自己的问题是否意味着我在自言自语?

无论如何 - 我似乎已经修复了它。我没有找到一条有用的错误消息,而是一次又一次地完成了所有步骤,结果发现这是passenger_wsgi.py文件中的导入错误。由于应用程序位于mysite子目录中,因此该行:

from mysite import hello as application

应该是(事实上,现在是):

from mysite.hello import app as application

它有效。这很好。

于 2012-04-30T19:14:15.753 回答