xia*_*ong 3 python google-app-engine stripe-payments
我正在使用stripe
API与Stripe服务交谈.谷歌AppEngine甚至没有导入或涉及到这里,但我看到这AssertionError
与GAE库有关.下面是堆栈跟踪.什么可能出错?
$ python stripe_export.py
Traceback (most recent call last):
File "stripe_export.py", line 99, in <module>
etl_customers()
File "stripe_export.py", line 72, in etl_customers
customers = fetch_data(stripe.Customer)
File "stripe_export.py", line 54, in fetch_data
_list_obj = cls.all(limit=page_size)
File "/Library/Python/2.7/site-packages/stripe/resource.py", line 332, in all
response, api_key = requestor.request('get', url, params)
File "/Library/Python/2.7/site-packages/stripe/api_requestor.py", line 140, in request
method.lower(), url, params, headers)
File "/Library/Python/2.7/site-packages/stripe/api_requestor.py", line 249, in request_raw
method, abs_url, headers, post_data)
File "/Library/Python/2.7/site-packages/stripe/http_client.py", line 160, in request
payload=post_data
File "/usr/local/google_appengine/google/appengine/api/urlfetch.py", line 268, in fetch
rpc = create_rpc(deadline=deadline)
File "/usr/local/google_appengine/google/appengine/api/urlfetch.py", line 224, in create_rpc
return apiproxy_stub_map.UserRPC('urlfetch', deadline, callback)
File "/usr/local/google_appengine/google/appengine/api/apiproxy_stub_map.py", line 414, in __init__
self.__rpc = CreateRPC(service, stubmap)
File "/usr/local/google_appengine/google/appengine/api/apiproxy_stub_map.py", line 68, in CreateRPC
assert stub, 'No api proxy found for service "%s"' % service
AssertionError: No api proxy found for service "urlfetch"
Run Code Online (Sandbox Code Playgroud)
小智 9
这看起来像你运行unittests并尝试从测试中调用urlfetch.
我在胜利时做同样的事情,然后我得到以下转储:
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\urlfetch.py", line 268, in fetch
rpc = create_rpc(deadline=deadline)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\urlfetch.py", line 224, in create_rpc
return apiproxy_stub_map.UserRPC('urlfetch', deadline, callback)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub_map.py", line 414, in __init__
self.__rpc = CreateRPC(service, stubmap)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub_map.py", line 68, in CreateRPC
assert stub, 'No api proxy found for service "%s"' % service
AssertionError: No api proxy found for service "urlfetch"
Run Code Online (Sandbox Code Playgroud)
除了dirnames之外,在Unix/Win之间没有区别,但是在两种情况下都来自apiproxy_stub_map.py,我假设你是从unittests运行的.
我的单元测试解决这个问题的方法是执行以下操作,也许这适用于您的问题:
在TestCase中包括testbed激活,去激活和urlfetch存根调用,例如:
@classmethod
def setUpClass(cls):
cls.testbed = testbed.Testbed()
cls.testbed.activate()
cls.testbed.init_datastore_v3_stub()
cls.testbed.init_memcache_stub()
cls.testbed.init_urlfetch_stub()
@classmethod
def tearDownClass(cls):
cls.testbed.deactivate()
Run Code Online (Sandbox Code Playgroud)
该调用cls.testbed.init_urlfetch_stub()
为我启动了激活urlfetch服务的技巧.
在docs中,列出了使用单元测试时必须调用的不同服务的所有存根:https://cloud.google.com/appengine/docs/python/tools/localunittesting
归档时间: |
|
查看次数: |
2269 次 |
最近记录: |