无法在Dreamhost共享主机上使用Passenger WSGI运行Flask

Dav*_*rth 10 python shared passenger dreamhost flask

我正在尝试让一个Flask"hello world"应用程序在Dreamhost共享服务器上运行,遵循他们的wiki上说明,但我没有运气.

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

from flask import Flask
app = Flask(__name__)

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

if __name__ == '__main__':
    app.run()
Run Code Online (Sandbox Code Playgroud)

根据DH维基说明,我在名为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
Run Code Online (Sandbox Code Playgroud)

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

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

由于这是最基本的设置(即,从维基中复制和粘贴),我不禁感到我错过了一些非常简单的东西.或者这可能在共享服务器上无法实现?

Dav*_*rth 19

回答我自己的问题意味着我在跟自己说话吗?

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

from mysite import hello as application
Run Code Online (Sandbox Code Playgroud)

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

from mysite.hello import app as application
Run Code Online (Sandbox Code Playgroud)

它有效.这很好.

  • +1 ......不,它只是意味着你正在帮助使这个网站更好一点.感谢那! (3认同)