2013-09-01 27 views
7

Ho appena iniziato con google app engine e ho seguito l'esempio base ciao mondo su google app engine.Google app engine dev_appserver.py problems

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

creato entrambi i file nella cartella helloworld.

Non voglio usare la GUI Preferisco usare il terminale mac per lavorare con questa applicazione. Voglio avviare questa applicazione sul mio host locale host: 80 attraverso il terminale.

per eseguire la mia domanda di base HelloWorld localmente tutto quello che dico è

$ dev_appserver.py helloworld. ma ottengo questo errore

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' 

Ho due file nella directory helloworld. app.yaml

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

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

e la 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

L'errore dice nessun file o directory. La directory helloworld esiste nella directory da cui è stato eseguito il comando e ha un app.yaml al suo interno? –

+0

Infatti ho aggiornato il mio post con i due file in esso contenuti. Mi sono assicurato di inserire cd nella directory prima di eseguire dev_appserver.py, ma ancora non va bene. – muhammed

+4

Se si esegue il cd nella directory 'helloworld', il comando deve essere' dev_appserver.py. 'L'argomento è un percorso della directory che contiene app.yaml. Se ci si trova in quella directory, il percorso è il percorso completo della directory corrente o '.' –

risposta

3

Ho avuto lo stesso problema. Dopo qualche sforzo il comando che ha lavorato per me, all'interno della directory google_appengine e non nel helloword dir è:

python dev_appserver.py helloworld/

forse questo aiuta.

0
  1. Al primo avvio di Google App Engine, un prompt chiede se si vuole fare "Command link simbolici" - essere sicuri di fare clic su OK, quindi immettere la password di amministratore. Questo è ciò che consente di utilizzare collegamenti simbolici nella cartella/usr/local/bin per il comando dev_appserver.py.

  2. Inserire il seguente nel terminale (riga di comando)

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

Ecco un example quello che il mio browser, terminale, e le finestre del Finder assomigliano.

Per riferimento, here è una guida O'Reilly per l'installazione/esecuzione di google app engine su mac.

  1. Per arrestare il server web, assicurarsi che la finestra del terminale è attivo, quindi premere Control-C
0

Dopo aver installato la nuvola sdk google, avete fatto funzionare

gcloud components install app-engine-go 

La documentazione è un po 'ridicola in termini di organizzazione. Ho assolutamente perso questo quando ho iniziato

0

Dalla directory ...\ Google \ cloud SDK \ google-cloud-sdk \ bin:

Invece di:

dev_appserver.py YOUR_DIRECTORY 

Prova:

py dev_appserver.py YOUR_DIRECTORY 

Oppure:

python dev_appserver.py YOUR_DIRECTORY