11

wiki の指示に従って、Flask の「hello world」アプリケーションを Dreamhost 共有サーバーで動作させようとしていますが、うまくいきません。

私の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

自分の質問に答えるということは、自分に言い聞かせているということですか?

とにかく - 私はそれを修正したようです。役立つエラー メッセージを見つけるよりも、すべての手順を 1 つずつやり直したところ、passenger_wsgi.pyファイルのインポート エラーであることがわかりました。アプリはmysiteサブディレクトリにあるため、次の行:

from mysite import hello as application

あるべきだった (実際、現在はそうである):

from mysite.hello import app as application

そして、それは機能します。いいですね。

于 2012-04-30T19:14:15.753 に答える