2016-08-02 57 views
0

我試圖使用AWS EB(Amazon Web Services Elastic Beanstalk)部署我的Flask Web應用程序。不幸的是,我遇到了以下錯誤:另一個Flask/AWS WSGIPath錯誤,具體爲:WSGIPath是指不存在的文件

Your WSGIPath refers to a file that does not exist.

我看了答案herehere;接下來的第一個建議沒有改變任何東西(仍然收到相同的錯誤)。作爲參考,此修復涉及創建一個.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 ethanWebsite-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配置向我表明,有一個配置文件的問題,但我不知道從哪裏開始/超越我已經添加。謝謝!

+0

我能夠這樣做,以解決這個問題在新環境中全新部署我的應用程序,嚴格按照[此處]概述的EB CLI(http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-flask.html) 。儘管如此,仍然希望我能夠了解一下爲什麼我以前的方法會打破。當我使用'eb config'時,我仍然會得到相同的錯誤。 –

回答

1

我不知道這是否能解決您的問題,但我有同樣的確切問題,我碰到this article。它解釋了Elastic Beanstalk的應用程序對象名稱應該被稱爲application而不是app

因此,例如,在主應用程序,你應該做如下改變(如果你還沒有的話):

app = Flask(__name__) 

application = Flask(__name__) 
相關問題