【发布时间】:2013-03-30 23:41:24
【问题描述】:
我知道有很多 blobstore 问题,但我已经回到最基本的情况,我被困住了!
从长远来看,我在带有 Google Cloud SQL 的 Google App Engine 上使用纯 Django,我想将文件上传到 Blobstore(但我无法上传文件)。
我正在尝试从 Google 的 Blobstore 概述 (https://developers.google.com/appengine/docs/python/blobstore/overview) 中运行以下示例
from google.appengine.ext import blobstore
upload_url = blobstore.create_upload_url('/upload')
但我得到以下信息:
$ python
Python 2.7.2+ (default, Jul 20 2012, 22:15:08)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<snip>/google_appengine_1.7.6/google/appengine/api/blobstore/blobstore.py", line 270, in create_upload_url
gs_bucket_name=gs_bucket_name)
File "<snip>/google_appengine_1.7.6/google/appengine/api/blobstore/blobstore.py", line 334, in create_upload_url_async
_get_result_hook, lambda rpc: rpc.response.url())
File "<snip>/google_appengine_1.7.6/google/appengine/api/blobstore/blobstore.py", line 223, in _make_async_call
rpc = create_rpc()
File "<snip>/google_appengine_1.7.6/google/appengine/api/blobstore/blobstore.py", line 217, in create_rpc
return apiproxy_stub_map.UserRPC('blobstore', deadline, callback)
File "<snip>/google_appengine_1.7.6/google/appengine/api/apiproxy_stub_map.py", line 405, in __init__
self.__rpc = CreateRPC(service, stubmap)
File "<snip>/google_appengine_1.7.6/google/appengine/api/apiproxy_stub_map.py", line 67, in CreateRPC
assert stub, 'No api proxy found for service "%s"' % service
AssertionError: No api proxy found for service "blobstore"
我回到了最基本的情况:Google App Engine SDK 1.7.6(目前最新)和 Python 2.7.2。
我的路径是这样的:
>>> from pprint import pprint as p
>>> p(sys.path)
['',
'<snip>/google_appengine_1.7.6',
'<snip>/google_appengine_1.7.6/lib',
'<snip>/google_appengine_1.7.6/lib/yaml-3.10',
'<snip>/google_appengine_1.7.6/lib/django-1.4',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/python2.7/dist-packages/gst-0.10',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7']
有趣的是,如果我在路径中仅使用基本 GAE 目录尝试此操作,我会得到:
ImportError: No module named yaml
这是否表明我在 SDK 中配置错误?
感谢您提供的任何东西!
【问题讨论】:
-
您使用的确切命令行是什么?除非我遗漏了什么,否则我在上面看到的都是
python。假设上面缺少 dev_appserver 调用,如果您使用old_dev_appserver.py而不是dev_appserver.py,您会看到不同的行为吗?
标签: python google-app-engine sdk