2013-04-03 11 views
11

po runiczny ten kod, znalazłem błąd importu: -pyton "No moduł nazwany appengine.ext"

from google.appengine.ext import webapp 
from google.appengine.ext.webapp.util import run_wsgi_app 

class MainPage(webapp.RequestHandler): 
    def get(self): 
     self.response.headers['Content-Type'] = 'text/plain' 
     self.response.out.write('Hello, webapp World!') 

application = webapp.WSGIApplication([('/', MainPage)],debug=True) 

def main(): 
    run_wsgi_app(application) 

if __name__ == "__main__": 
    main() 

jak używać google.apengine.ext

+0

Jak to zainstalowałeś? Sprawdź, czy to jest na twojej PYTHONPATH. – StoryTeller

+0

Jeśli próbujesz uruchomić go w interaktywnym środowisku Python, będziesz musiał zmodyfikować sys.path, jak wspomniano w komentarzach poniżej. Jeśli zamierzasz obsługiwać aplikację internetową, uruchom aplikację, używając dev_appserver.py. Polecenie to <ścieżka-google-sdk> /platform/google_appengine/dev_appserver.py app.yaml –

+0

Nie wiem, dlaczego usunąłeś moją odpowiedź. Miałem dokładnie ten sam błąd i plik google.py spowodował ten problem. Tak dla mnie jest odpowiedź. Być może nie jest odpowiedzią na twój dokładny przypadek, ale była odpowiedzią na moją sprawę. Miałem absolutnie ten sam komunikat co błąd: "błąd importowania pythona" Brak modułu o nazwie appengine.ext ", więc proszę zwrócić odpowiedź z powrotem. Pozdrawiam – makkasi

Odpowiedz

9

Wygląda na App Engine Zestaw SDK nie jest zainstalowany lub przynajmniej środowisko wykonawcze Python nie może go znaleźć.

odczytu i postępuj zgodnie z instrukcjami tutaj: https://cloud.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python

Mówią ci, jak zainstalować App Engine SDK dla Pythona.

+7

Hej, postępowałem zgodnie z instrukcjami podanego linku, wciąż jest błąd –

+2

@NamitaMaharanwar Uruchomiłem następujące polecenie poprzez Terminal (używam Mac): 'export PYTHONPATH =" $ PYTHONPATH:/usr/local/google_appengine:/usr/local/google_appengine/lib /:/usr/local/google_appengine/lib/yaml/"' Musisz skonfigurować ścieżki do bibliotek –

+0

Tak, dokładnie .. Brakowało ustawień PYTHONPATH w krokach, których przestrzegałem Wykonałem: –

5

Spróbuj:

import google 
print google.__path__ 

aby zobaczyć, co dokładnie masz importowania.

+1

>>> import google Traceback (najnowszy call ostatni): Plik "", wiersz 1, w ImportError: No module o nazwie google >>> print google .__ path__ Traceback (najnowsza wezwanie ostatni): Plik "", wiersz 1, w NameError: nazwa 'google' nie jest zdefiniowane – TSR

5
import sys 
sys.path.insert(1, '/Users/<username>/google-cloud-sdk/platform/google_appengine') 
sys.path.insert(1, '/Users/<username>/google-cloud-sdk/platform/google_appengine/lib/yaml/lib') 
sys.path.insert(1, 'lib') 

if 'google' in sys.modules: 
    del sys.modules['google'] 

ten rozwiązuje problemy dla mnie

+0

skąd dokładnie wpisać ten kod? Czy jest to plik 'appengine_config.py' lub gdziekolwiek indziej? – Y2H

+0

Ten kod należy umieścić na początku głównej metody wykonawczej, dodając odniesienie do pakietu GAE. Jest to również stary kod, rzeczy się zmieniły od czasu, gdy ostatnio to napisałem. – varun

1

miałem ten sam problem, bo PIP zainstalowany gcloud przed pobraniem i zainstalowaniem SDK. Instalacja pip utworzyła pakiet google python, który nie zawiera modułu aplikacji (który znajduje się w folderze SDK). Odinstalowałem gcloud i powiązane pakiety. Następnie zainstaluj chmurę Google-cloud-bigquery, która jest jedynym pakietem, którego potrzebowałem od gcloud. Teraz wszystko działa dobrze.

0

Sprawdź, czy nazwasz jakiś plik google.py :) w tym samym pakiecie, ponieważ może to zignorować import google.appengine.ext. Miałem ten sam błąd:

python import error “No module named appengine.ext” 

i usunięcie pliku rozwiązało problem.

+2

Nie zapewnia to odpowiedzi na pytanie. Aby skrytykować lub poprosić o wyjaśnienie od autora, pozostaw komentarz pod swoim postem. - [Z recenzji] (/ opinia/niskiej jakości-posts/16810750) –