我很难让couchdbkit在Google App Engine上正常运行。我要么没有正确导入我的图书馆,要么我已经与GAE's Python Sandbox rules发生冲突。任何人都知道在GAE上使用couchdbkit时是否需要包含restkit(这是一些问题的来源)?在Google App Engine上使用couchdbkit(第三方库)
这里是我的配置:
的app.yaml
zapdome.py
couchdbkit/
restkit/
我剥zapdome.py只是基础知识(连接到我的CouchDB数据库服务器):
#! /usr/bin/env python
import urllib, httplib, datetime
from couchdbkit.schema.base import *
from couchdbkit.schema.properties import *
from couchdbkit.client import Server
USERNAME = ''
PASSWORD = ''
class QuoteEntry(Document):
name = StringProperty()
symbol = StringProperty()
price = StringProperty()
server = Server('https://' + USERNAME + ':' + PASSWORD + '@' + USERNAME + '.cloudant.com/')
这是我记录的错误:
E 2011-05-05 20:39:31.309
Traceback (most recent call last):
E 2011-05-05 20:39:31.309
File "/base/data/home/apps/zapdome/1.350215157753999092/restkit/__init__.py", line 12, in <module>
E 2011-05-05 20:39:31.309
from .client import Client, MAX_FOLLOW_REDIRECTS
E 2011-05-05 20:39:31.309
File "/base/data/home/apps/zapdome/1.350215157753999092/restkit/client.py", line 21, in <module>
E 2011-05-05 20:39:31.309
from httplib import FakeSocket
E 2011-05-05 20:39:31.309
ImportError: cannot import name FakeSocket
E 2011-05-05 20:39:31.309
Traceback (most recent call last):
E 2011-05-05 20:39:31.309
File "/base/data/home/apps/zapdome/1.350215157753999092/couchdbkit/__init__.py", line 10, in <module>
E 2011-05-05 20:39:31.310
from .resource import RequestFailed, CouchdbResource
E 2011-05-05 20:39:31.310
File "/base/data/home/apps/zapdome/1.350215157753999092/couchdbkit/resource.py", line 25, in <module>
E 2011-05-05 20:39:31.310
from restkit import Resource, ClientResponse
E 2011-05-05 20:39:31.310
ImportError: cannot import name Resource
E 2011-05-05 20:39:31.310
<type 'exceptions.SyntaxError'>: 'import *' not allowed with 'from .' (__init__.py, line 159)
Traceback (most recent call last):
File "/base/data/home/apps/zapdome/1.350215157753999092/zapdome.py", line 4, in <module>
from couchdbkit.schema.base import *
因为它在httplib.FakeSocket和restkit.Resource上窒息,我开始认为我正在超出GAE允许的范围。任何人有任何想法?谢谢。
@德鲁 - 西尔斯,良好的出发点,但更改为: '进口urllib的,httplib的,日期时间 从couchdbkit.schema.base进口文件 从couchdbkit.schema.properties导入StringProperty 从couchdbkit.client导入服务器' 会产生相同的错误日志。我注意到在couchdbkit/schema/__ init__.py这里有:.properties import * 'from .base import * from .properties_proxy import *' – Ryan 2011-05-06 13:20:05