Próbowałem utworzyć projekt Google App Engine zawierający różne moduły, z których każdy ma różne wersje; ale nie mogę go uruchomić.Jak poprawnie zaimplementować wiele wersji wielu modułów w Google App Engine?
Przeszedłem wszystko na google modules guide website, ale ich opis hierarchii aplikacji jest bardzo niejasny. Pobrałem prostą aplikację testową, aby sprawdzić, jak działa (czego nie mogę uruchomić).
Jest to struktura aplikacji teraz: http://www.iteratorium.eu/stackoverflow/structure.jpg
i cała sprawa jest spakowany tutaj: http://www.iteratorium.eu/stackoverflow/flask_app.zip
Istnieją trzy moduły: default, my-moduł i ruchomej interfejsu internetowego, a zarówno mój moduł, jak i mobilny frontend mają dwie wersje w katalogach v_one i v_two. Każda wersja ma własny plik .yaml, który zawiera pojedynczy moduł obsługi (co ułatwia jego testowanie).
Czy struktura jest co najmniej poprawna? Kiedy ładuję aplikację za pomocą pliku dev_appserver.py, wszystko jest w porządku, o ile nie ładuję dwóch wersji tego samego modułu. W tym przypadku tak się dzieje:
[email protected]_COMPUTER:~/flask_app$ python ~/google_appengine/dev_appserver.py dispatch.yaml app.yaml mobile-frontend/v_one/mobile-frontend.yaml my-module/v_one/my-module.yaml my-module/v_two/my-module.yaml
wyników w traceback oraz następujące:
google.appengine.tools.devappserver2.errors.InvalidAppConfigError: Duplicate module: my-module
(Obie wersje uzyskać przesłanych na AppEngine poprzez appcfg.py bez żadnych błędów, to może być tylko localhost serwer nie może obsłużyć wielu wersji)
Jeśli ładuję tylko jedną wersję każdego modułu, wszystko działa, ale moduły nie mogą importować niczego z katalogu lib. Dostęp http://localhost:8082/mobiler
poprzez wynikach przeglądarek w tym w terminalu:
from flask import Flask
ImportError: No module named flask
zdefiniowałem ścieżkę do folderu lib w pliku appengine_config.py ale nie wydają się działać dla modułów. Tam właśnie zatrzymałem się i zdecydowałem, że tu przyjadę, ponieważ nie jestem nawet pewien, czy struktura jest prawidłowa, i mogę być daleko od tego wszystkiego.
Więc ... Jak daleko jestem?
Jak już powiedziałeś, problem polega na tym, że lokalny serwer dev nie może obsłużyć wersji tego samego modułu w tym samym czasie. Mówiąc to, wygląda na to, że moduły NIE są uruchomione appengine_config.py, więc nie ładują się w ogóle Flask – marianosimone