【发布时间】:2016-01-04 05:01:11
【问题描述】:
我正在尝试使用我的应用程序目录中的命令 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 库?
【问题讨论】:
-
你好。那很奇怪。能不能打开一个python shell,输入:
from gcloud import datastore看看会不会报错? -
记住 appengine 在模拟沙箱中运行,库必须在项目中可用,而不仅仅是在 virtualenv 中。请参阅有关包括第三方库的文档,顺便说一句,您到底为什么要尝试在 appengine 中使用数据存储客户端?
-
@Kris Howdy,正如您可能已经猜到的那样,从我的 python 控制台运行它会返回没有错误。
-
@TimHoffman 我正在尝试制作从我们的数据存储区读取的 api 端点。我希望能够使用实时数据在本地进行测试,而无需部署。