2012-04-30 5 views
8

instructions on their wikiに続いて、Dreamhostの共有サーバーでFlask "hello world"アプリケーションを使用しようとしていますが、運が不安です。Dreamhostの共有ホスティングでPassenger WSGIを使用してFlaskを実行できません

マイフラスコアプリケーションがFlask quickstart guideから「Hello World」のいずれかです。私はDHのwikiごとに、個人用サイトと呼ばれるフォルダ内の「hello.py」と呼ばれるファイルに持って

from flask import Flask 
app = Flask(__name__) 

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

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

指示。私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ファイルを追加するまで、最後のインポート行に失敗しました。

ウェブサイトにアクセスしようとすると、500エラーが表示されます(ログに記録されていない限り、ログには何も表示されません。

これはセットアップの最も基本的なものです(つまり、wikiからコピーして貼り付けたものです)、私は何かが本当にシンプルでないと感じるのを助けることができません。あるいは、これは共有サーバーでは不可能でしょうか?

+0

ハッシュバンに入れましたか? "ファイルの最初の行に#!/ usr/bin/pythonがある" –

+0

ちょうどあなたの提案を試みました、うーん、それは何の効果もありませんでした... –

答えて

17

私自身の質問に答えることは、自分自身に話していることを意味しますか?

とにかく - 私はそれを修正したようです。便利なエラーメッセージを見つけ出すのではなく、すべての手順を1度に1つずつ実行して、passenger_wsgi.pyファイルのインポートエラーであることが判明しました。アプリはmysiteサブディレクトリにあるように、ライン:

from mysite import hello as application 

はされている必要があります(実際には、今ある):

from mysite.hello import app as application 

そして、それは動作します。どちらがいいですか?

+3

+1 ...いいえ、それはあなたのことを意味しますこのサイトを少し上手くするのに役立ちます。ありがとう! –

+0

私は助けてくれました、ありがとう! – karlgrz

+1

これは私のために働いた。私は__ init __。py__ファイルをmysiteディレクトリに追加しなければならなかったので、pythonはそのディレクトリをパッケージを含むものとして扱います。 http://docs.python.org/2/tutorial/modules.html#packages http://stackoverflow.com/questions/448271/what-is-init-py-for – ecounysis

関連する問題