我想在EBS上运行Flask应用程序,但我的应用程序的结构与推荐的设置不同,我还没想出如何运行它。
现在这就是它的样子:
__init__.py
(我在这里有application = app = flask.Flask(名称))config.py
__init__.py
index.py
(我的路线已定义)setup.py
(python包配置)要运行该应用,我会进入Project_Folder并导出FLASK_APP=Project_App
和其他环境变量,然后执行:flask run
。
我知道EBS需要一个带有“application”的.py
文件,所以我也可以通过在Project_App中执行python __init__.py
来运行应用程序。我确保将WSGIPath更改为__init__.py
,希望它能在那里找到应用程序对象,但它仍然无法运行。
日志不是很有用,但有没有人有任何想法?我不太确定在亚马逊方面发生了什么来运行应用程序本身。
谢谢!
答案 0 :(得分:0)
我似乎也遇到了同样的问题。如果您使用eb-cli并键入命令“ eb logs”,则应该获得错误日志。如果仔细检查它们并发现一条错误消息,例如“目标WSGI脚本'...'不包含WSGI应用程序'application'”,并且您当前收到403禁止错误,那么您的问题可能类似于我的问题。我假设在您的 init .py文件中,您使用的是以下应用程序工厂:
def create_app():
application = Flask(__name__)
app = application
如果是,则是导致问题的原因是应用程序工厂create_app()。我建议尝试不要在create_app()中定义应用程序,或者根本不使用应用程序工厂