无法使用gcloud

时间:2016-01-04 05:01:12

标签: python google-app-engine

我试图从我的应用程序目录中使用命令dev_appserver.py ./,但它会抛出以下错误。

ERROR    2016-01-04 04:47:51,421 wsgi.py:263] 
Traceback (most recent call last):
  File "/Users/Joshua/Scripts/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/Users/Joshua/Scripts/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/Users/Joshua/Scripts/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/Users/Joshua/Projects/inkren/skritter-api/main.py", line 2, in <module>
    from gcloud import datastore
ImportError: No module named gcloud

我正在运行安装了gcloud的virtualenv,并且还安装了带有正确python组件的gcloud sdk。运行python ./main.py时会找到gcloud库。

# main.py

import webapp2
from gcloud import datastore


class MainPage(webapp2.RequestHandler):
    def get(self):
        client = datastore.Client(dataset_id='my-project')
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('Hello, World!')

app = webapp2.WSGIApplication([
    ('/', MainPage),
], debug=True)

我想要做的是能够在浏览器中本地运行我的代码。有没有办法让dev_appserver.py识别gcloud库?

2 个答案:

答案 0 :(得分:1)

使用gcloud的python开发服务器还有问题吗?我已成功使用终端中的dev_appserver.pySee reference

也许installsetup指令自一年前开始有所改善。我相信安装会将文件dev_appserver.py置于您的系统路径中,即使在Windows上也是如此,因此可以从终端访问它。

答案 1 :(得分:0)

我对此做了一些研究,所以......好的,这就是你要做的事情。

吸一口气

前往这位绅士的GitHub页面,并以zip格式下载该软件包。 https://github.com/dhermes/test-gcloud-on-gae

现在,您需要将文件夹中的一些文件夹/文件添加到您的文件夹中,以使gcloud正常工作。

1)打开application文件夹,将vendor文件夹放入根目录。此文件夹包含gcloud包以及许多其他包。如果需要,您可以删除其他人。

2)同时将appengine_config.py添加到根目录中。此文件告诉应用引擎第三方软件包的位置。

3)同时将darth.py添加到根目录。这只是一个帮助文件。

实际上,应该这样做。这位先生写了一些使用第三方应用程序和app引擎的脚本,它们非常有用。如果您的导入在执行之后有效,请告诉我!

我在本地进行了测试,效果很好。基本上,任何第三方python包都可以使用app引擎,只要其中没有其他语言,例如C