2013-09-01 75 views
7

我剛剛開始使用谷歌應用引擎,並且我在谷歌應用引擎上遵循了基本的Hello World例子。谷歌應用引擎dev_appserver.py問題

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

中的HelloWorld文件夾中創建兩個文件。

我不想使用GUI我更喜歡使用mac終端來處理這個應用程序。我想通過終端在本地主機localhost:80上啓動這個應用程序。

運行我的基本的HelloWorld應用程序在本地所有我要說的是

$ dev_appserver.py的HelloWorld。但我得到這個錯誤。

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' 

我在helloworld目錄中有兩個文件。 的app.yaml

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

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

和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

錯誤說沒有文件或目錄。 helloworld目錄是否存在於您運行該命令的目錄中,並且是否有app.yaml? –

+0

事實上,我更新了我的文章,其中包含兩個文件。在運行dev_appserver.py之前,我確保cd進入目錄,但仍然不行。 – muhammed

+4

如果你進入'helloworld'目錄,那麼這個命令應該是'dev_appserver.py .'這個參數是一個包含app.yaml的目錄的路徑。如果你在那個目錄下,那麼路徑就是當前目錄或'.'的完整路徑 –

回答

3

我有同樣的問題。一些努力,在helloword目錄的工作對我來說,google_appengine目錄內,而不是命令後爲:

python dev_appserver.py helloworld/

也許這會有所幫助。

0
  1. 當你第一次啓動谷歌應用程序引擎,系統會提示,如果你想「命令的符號鏈接」 - 一定要單擊確定,然後輸入管理員密碼。這就是您可以在/ usr/local/bin文件夾中使用命令dev_appserver.py的符號鏈接的原因。

  2. 輸入以下到終端(命令行)

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

下面是一個example什麼我的瀏覽器,終端和Finder窗口的樣子。

作爲參考,here是在Mac上安裝/運行谷歌應用程序引擎的O'Reilly指南。

  • 要關閉網絡服務器,確保終端窗口處於活動狀態,然後按Control-C
  • 0

    安裝谷歌雲SDK後,你跑

    gcloud components install app-engine-go 
    

    該文件有點荒謬的組織方面。當我第一次開始時,我完全錯過了這個

    0

    從目錄...\谷歌\雲SDK \谷歌雲-SDK \ BIN:

    相反的:

    dev_appserver.py YOUR_DIRECTORY 
    

    嘗試:

    py dev_appserver.py YOUR_DIRECTORY 
    

    或者:

    python dev_appserver.py YOUR_DIRECTORY 
    
    相關問題