2013-09-01 15 views
7

Właśnie zaczynam od silnika aplikacji Google, a ja poszedłem za podstawowym przykładem Witaj, na silniku aplikacji Google.Aparat Google App dev_appserver.py problems

https://developers.google.com/appengine/docs/python/gettingstartedpython27/helloworld

stworzył oba pliki w folderze helloworld.

Nie chcę używać GUI Wolę używać terminala mac do pracy z tą aplikacją. Chcę uruchomić tę aplikację na lokalnym hoście lokalnym: 80 przez terminal.

uruchomić mój podstawowy wniosek helloworld lokalnie wszystko mogę powiedzieć to

$ dev_appserver.py helloworld. ale dostaję ten błąd.

Traceback (most recent call last): 
    File "/usr/local/bin/dev_appserver.py", line 184, in <module> 
    _run_file(__file__, globals()) 
    File "/usr/local/bin/dev_appserver.py", line 180, in _run_file 
    execfile(script_path, globals_) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 727, in <module> 
    main() 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 720, in main 
    dev_server.start(options) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 554, in start 
    options.yaml_files) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/application_configuration.py", line 556, in __init__ 
    module_configuration = ModuleConfiguration(yaml_path) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/application_configuration.py", line 82, in __init__ 
    self._yaml_path) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/application_configuration.py", line 271, in _parse_configuration 
    with open(configuration_path) as f: 
IOError: [Errno 2] No such file or directory: 'helloworld' 

Mam dwa pliki w katalogu helloworld. app.yaml

application: your-app-id 
version: 1 
runtime: python27 
api_version: 1 
threadsafe: true 

handlers: 
- url: /.* 
    script: helloworld.application 

i helloworld.py

import webapp2 

class MainPage(webapp2.RequestHandler): 

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


application = webapp2.WSGIApplication([ 
    ('/', MainPage), 
], debug=True) 
+0

Błąd mówi żadnego pliku lub katalog. Czy katalog helloworld istnieje w katalogu, z którego pochodzi polecenie i czy ma w nim plik app.yaml? –

+0

Rzeczywiście zaktualizowałem swój post z dwoma plikami w nim. Przed uruchomieniem dev_appserver.py upewniłem się, że wejdę do katalogu, ale nadal nie jest to dobre. – muhammed

+4

Jeśli jesteś w katalogu 'helloworld', to polecenie powinno być' dev_appserver.py. 'Argumentem jest ścieżka do katalogu zawierającego app.yaml. Jeśli jesteś w tym katalogu, ścieżka jest pełną ścieżką do bieżącego katalogu lub '.' –

Odpowiedz

3

miałem ten sam problem. Po pewnym wysiłku poleceń, który pracował dla mnie, wewnątrz katalogu google_appengine a nie w helloword dir to:

python dev_appserver.py helloworld/

może to pomoże.

0
  1. Po pierwszym uruchomieniu Google App Engine, pojawi się pytanie, czy chcesz, aby „polecenia Symlinks” - należy kliknąć przycisk OK, a następnie wprowadź hasło administratora. Umożliwia to używanie dowiązań symbolicznych w folderze/usr/local/bin dla polecenia dev_appserver.py.

  2. Wprowadź następującą do terminalu (wiersza polecenia)

    $: /usr/local/bin/dev_appserver.py helloworld 
    

Oto example co moja przeglądarka, terminal, i okna Findera wyglądać.

Dla odniesienia, here jest przewodnikiem O'Reilly do instalowania/uruchamiania silnika aplikacji Google na mac.

  1. Aby zamknąć serwer WWW, upewnij się, że okno terminalu jest aktywny, a następnie naciśnij Ctrl-C
0

Po zainstalowaniu Google Cloud SDK, czy uruchomić

gcloud components install app-engine-go 

Dokumentacja jest śmieszna pod względem organizacyjnym. Tęskniłem za tym, kiedy po raz pierwszy uruchomiłem

0

Z katalogu ...\ Google \ Chmura SDK \ google-cloud-sdk \ bin:

Zamiast:

dev_appserver.py YOUR_DIRECTORY 

Spróbuj:

py dev_appserver.py YOUR_DIRECTORY 

Lub:

python dev_appserver.py YOUR_DIRECTORY