2013-09-01 77 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 
    
    相关问题