cloudstorage 的 copy2 方法抛出没有 api 为服务 "memcache" 找到代理

cloudstorage's copy2 method throwing No api proxy found for service "memcache"

我没有进行单元测试。

我只是 运行 在我的 Windows10 机器上使用 Python2.7 执行 2 个命令,我收到了臭名昭著的断言错误:

No api proxy found for service "memcache"

这是代码:

import cloudstorage as cstorage
cstorage.copy2("/nosuchbucket/nosuchfile1","/nosuchbucket/nosuchfile2")

有什么地方可能出错吗?

环境:

该特定库是 AppEngine Google Cloud Storage 客户端库,旨在供 GAE 应用程序代码使用。

此类代码不能像您尝试的那样以独立方式执行,它需要在 GAE 沙箱环境(本地开发服务器或部署时的真实 GAE 基础设施)内部执行(并由其补充)。

另见相关内容

我昨天也找到了一种可以用于测试目的的解决方法。

只需导入测试台并初始化必要的存根(或全部)

从google.appengine.ext导入测试平台 测试台 = testbed.Testbed()

testbed.activate()

测试平台。init_datastore_v3_stub()

testbed.init_memcache_stub()

testbed.init_urlfetch_stub()

testbed.init_app_identity_stub()

testbed.init_blobstore_stub()

现在错误消失了,我可以使用 cloudstorage API。