2017-02-03 7 views
1

私はフラスコのアプリケーションを持っていますので、私は自分のコンピュータでローカルに実行してherokuにデプロイすることができますが、私が行うときにはheroku openというアプリケーションエラーが続きます。Python Flask herokuアプリケーションエラー

これは私のapp.pyである:

import random 
import os 

from flask import Flask 
from gen_histogram import histogram 
from sample import generate_probability, generate_word 

app = Flask(__name__) 

dict_histogram = histogram('tom_sawyer.txt') 

tes_list = ["one", "fish", "two", "fish", "red", "fish", "blue", "fish"] 


def try_random(): 
    return random.choice(tes_list) 


@app.route('/') 
def hello_world(): 
    return try_random() 


if __name__ == '__main__': 
    port = int(os.environ.get("PORT", 5000)) 
    app.run(debug=True, port=port) 

Procfile:

web: gunicorn app:app 

注:

私はvirtualenvのとrequirements.txt

を含むすべてのものを設定しています
+0

あなたが得るエラーは何ですか? –

+0

ログは何を表していますか? –

+0

@DanielRoseman -----> Pythonのアプリは$ を検出 -r requirements.txtに ----->発見のプロセス・タイプをインストールするPIP Procfileは種類を宣言 - >ウェブ ----->圧縮... 完了:38.2M ----->起動中... リリースv7 https://tweetkaka.herokuapp.com/ Herokuに展開 –

答えて

2

私はおそらく、そのガンコンが正しいポートを使用していない可能性があると思います。 Herokuはアプリケーションのためのポートを割り当てます。私はそのポートがランダムに割り当てられるかどうか、またはデフォルトがあるかどうかは完全にはわかりません。これが問題を引き起こしているものであればしかし、これにProcfileを変更すると、それを修正する必要がありますポートの割り当てHerokuのがないものは何でも

web: gunicorn -b :$PORT app:app 

この方法でキャッチ。あるいは、PORTの環境変数を設定すると、それも使用されます。 gunicornはデフォルトでポート8000​​に設定されているため、HerokuではPORT環境変数を8000に設定する必要があります。

私はapp.runはどのような方法でgunicornサーバに影響を与えていないことを確信しています。私は、gunicornがapp:appmodule:appinstance)で指定されたモジュール内のアプリケーションインスタンスを見つけ、ビューをロードすると思います。

+0

それは多くのおかげで働いた – harrypotter0

関連する問題