2015-07-01 13 views
18

próbuję przesłać mój wniosek kolby AWS jednak otrzymuję błąd na robi tak:Twój WSGIPath odnosi się do pliku, który nie istnieje

Twój WSGIPath odnosi się do pliku, który nie istnieje.

Po wykonaniu kilku kopie w Internecie znalazłem, że w folderze .ebextensions, powinienem podać ścieżkę. Nie było folder .ebextensions więc stworzył jedną i dodaje następujący kod do pliku o nazwie settings.config:

option_settings: 
    "aws:elasticbeanstalk:container:python": 
    WSGIPath: project/application.py 

WSGIPath jest poprawna ścieżka do pliku application.py więc nie jestem pewien, co podnosi ten błąd. Czy zmieniam prawo WSGIPath, czy jest lepszy sposób, czy też jest problem z czymś innym, co powoduje to? Dzięki.

Odpowiedz

22

Istnieje wiele problemów związanych z konfiguracją, które mogą wystąpić w przypadku kolby wdrożonej w AWS. Pracowałem nad podobnym problemem jak Ty, więc mogę przynajmniej pokazać, co zrobiłem, aby rozwiązać błąd WSGI.

pierwsze, najwyraźniej można to zrobić bez folderze .ebextensions (patrz ten post here. I spojrzeć na odpowiedź davetw12 w. Należy jednak pamiętać, że o ile to działa, nie jestem całkowicie pewien, że konkluzja davetw12 za około .ebextensions jest poprawne, na podstawie niektórych komentarzy poniżej). Zamiast tego (w terminalu) nawigowałem do mojego projektu na tym samym poziomie co mój katalog .elasticbeanstalk i użyłem polecenia eb config. Spowoduje to otwarcie listy opcji, które można skonfigurować w celu skonfigurowania aplikacji beanstralk. Przechodź w dół przez opcje, aż znajdziesz ścieżkę WSGI. Zauważyłem, że masz ustawiony na project/application.py, jednak nie powinno to obejmować odniesienia do folderu, tylko application.py. Oto jak wygląda na moim Macu w terminalu (ścieżka WSGI jest blisko dna).

enter image description here

Zauważ, że gdy pojawi się ten zestaw, EB najprawdopodobniej przesunięcie. W porządku. Pozwól na to.

Po uzyskaniu tego zestawu przejdź do pliku application.py i upewnij się, że zadzwoniłeś do aplikacji application. Na przykład kopalnia wygląda następująco:

from flask import Flask 
from flask import render_template 
application = Flask(__name__) 

@application.route('/') 
@application.route('/index') 
def index(): 
    return render_template('index.html', 
          title='Home') 

Ten zabrał błąd ścieżki WSGI - chociaż miałem jeszcze naprawić niektóre inne kwestie następujące tym :-) Ale to jest inny zestaw pytań.

+0

Mam podobny problem i używając 'eb config' odkryłem, że WSGIPath nie jest w moich danych konfiguracyjnych - w rzeczywistości nie dostaję nic dla aws: elasticbeanstalk: container: python. Ustawiam go w pliku .config, ale wygląda na to, że został nadpisany przez zapisaną konfigurację na pulpicie nawigacyjnym - na stronie głównej wyświetla się 'WSGIPath: application.py', ale nie pozwala mi go edytować w dowolnym miejscu. Wygląda na to, że będę musiał tylko utworzyć plik application.py! – Kylotan

+0

Wystąpił problem z zainstalowanym programem psycopg2. dodając te wiersze do naszych .ebextensions/01-app.config plik poprawiony: pakiety: yum: postgresql93-devel: [] –

+0

Nie zgadzam się z odpowiedzią davetw12 że ebconfig nie ma już znaczenia - patrz mój komentarz tam. jesteście nieumyślnie rozpowszechniając dezinformację – HaveAGuess

Powiązane problemy