Python 另一个Flask/AWS WSGIPath错误,特别是:WSGIPath指的是不存在的文件

Python 另一个Flask/AWS WSGIPath错误,特别是:WSGIPath指的是不存在的文件,python,amazon-web-services,flask,Python,Amazon Web Services,Flask,我正在尝试使用AWS EB(Amazon web Services Elastic Beanstalk)部署我的Flask web应用程序。不幸的是,我遇到了以下错误: 您的WSGIPath引用了一个不存在的文件。 我已经看了答案和答案;遵循第一个建议没有改变任何事情(仍然收到相同的错误)。作为参考,此修复程序涉及创建一个.ebextensions/ethanWebsite env.config文件,其中ethanWebsite env是我的环境名称 option_settings: "aw

我正在尝试使用AWS EB(Amazon web Services Elastic Beanstalk)部署我的Flask web应用程序。不幸的是,我遇到了以下错误:

您的WSGIPath引用了一个不存在的文件。

我已经看了答案和答案;遵循第一个建议没有改变任何事情(仍然收到相同的错误)。作为参考,此修复程序涉及创建一个
.ebextensions/ethanWebsite env.config
文件,其中
ethanWebsite env
是我的环境名称

option_settings:
  "aws:elasticbeanstalk:container:python":
    WSGIPath: application.py
第二个链接建议使用EB CLI命令
EB config
修改
WSGIPath
环境变量。我已经使用AWS web GUI(我的环境的配置选项卡的软件配置窗格)完成了这项工作;它已经设置为
application.py
,但我将其重置为无效。我在尝试
eb config
时遇到的错误可能更具启发性

sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
类似地,如果指定要使用
eb config env
配置的环境,则会收到相同的错误

下面是我的应用程序的结构

ethan_website/
    application.py
    connect4.py
    isPrime.py
    requirements.txt
    .ebextensions/
        ethanWebsite-env.config
    .elasticbeanstalk/
        config.yml
    static/
        (various .css and .js files)
    templates/
        (various .html files)
我在主项目级别省略了一个
flask/
文件夹,其中包含许多子文件夹,它似乎配置了python环境,似乎并不相关


如果有人对可能出现的问题有任何见解,请让我知道。我的eb config错误向我表明配置文件存在问题,但我不确定从哪里开始/查看我已经添加的配置文件之外的内容。谢谢

我不知道这是否解决了你的问题,但我遇到了同样的问题。它解释了Elastic Beanstalk的flask应用程序中的默认应用程序对象名称应被称为
application
,而不是
app

因此,例如,在主应用程序中,您应该进行以下更改(如果尚未进行更改):


在这个问题上花了几个星期之后。我发现上述问题有两种解决方案:

  • flask服务器文件中的默认对象名称应为
    application
    run函数将类似于
    application.run(host='0.0.0')
    ,并且文件名应为application.py,或者您可以将eb config中的WSGI路径更改为文件名。我想要application.py

  • 即使在尝试了第一个解决方案之后,如果它不起作用,那么将WSGI路径更改为
    文件夹\u name/application.py
    。 我希望有帮助


  • 我能够通过在一个新环境中重新部署我的应用程序来解决这一问题,严格按照概述的EB CLI进行部署。不过,我还是希望我能了解一下为什么我以前的方法失败了。当我使用
    eb config
    时,我仍然会遇到相同的错误。您从哪里得到这个错误:您的WSGIPath引用了一个不存在的文件。?
    app = Flask(__name__)
    
    application = Flask(__name__)