我试图从我的应用程序目录中使用命令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库?
答案 0 :(得分:1)
使用gcloud的python开发服务器还有问题吗?我已成功使用终端中的dev_appserver.py
。 See reference
也许install和setup指令自一年前开始有所改善。我相信安装会将文件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
。