私のPython Webアプリケーションはapp
と呼ばれます
# example.py
import flask
app = flask.Flask(__name__.split('.')[0])
そして、AWS-EBでそれを使用して起動しようとすると
# run.py (set correctly with WSGIPath)
from example import app
if __name__ == "__main__":
app.run()
私は得る
mod_wsgi(pid = 22473):ターゲットWSGIスクリプト '/opt/python/current/app/run.py'にWSGIアプリケーション 'application'が含まれていません。
アプリケーションインスタンスの名前がapp
であることをAWSに伝えるにはどうすればよいですか?
mod_wsgiは、application
という変数を想定しています。このようなことをしてみてください
_from example import app as application
_
注:application.run()
は実行しないでください。必要ありません。
WSGIPathは構成できますが。 Beanstalkは、アプリ変数が「application」という名前になることを引き続き想定しています。
小さな単一ファイルの簡単な回避策pythonアプリは
from flask import Flask
app = Flask(__name__)
application = app # For beanstalk
残りのコードはそのままにしておくことができます。その1行を追加する必要がありますapplication = app