HI George As chris mentioned you can't use zodb, or any other c dependant code. (and zodb doesn't make sense).
Also I recommend setting up repoze under virtualenv, but you will find you can't run the dev appserver in virtualenv. So I exit and then run with the system python, ( I heavily customize my install of repoze, and only actually include the bits I use (keeps my file count down)). The are some instructions on the bfg site specifically for running gae. I don't use that approach myself. But either way I think repoze is a really good light weight framework for building apps on appengine. Rgds T On Sat, Mar 27, 2010 at 8:34 AM, george hu <geo...@gmail.com> wrote: > First, I set up the template project: paster create -t bfg_zodb bfgapp, then > cd to the bfgapp to run python setup.py develop > > When I tried to run with the python in the virtual env (bfgapp/bin/python), > I got the following error: > > Traceback (most recent call last): > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 3185, in _HandleRequest > self._Dispatch(dispatcher, self.rfile, outfile, env_dict) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 3128, in _Dispatch > base_env_dict=env_dict) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 515, in Dispatch > base_env_dict=base_env_dict) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 2387, in Dispatch > self._module_dict) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 2297, in ExecuteCGI > reset_modules = exec_script(handler_path, cgi_path, hook) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 2193, in ExecuteOrImportScript > exec module_code in script_module.__dict__ > File "/home/systemadmin/bfgapp/app/runner.py", line 14, in <module> > import site > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1922, in load_module > return self.FindAndLoadModule(submodule, fullname, search_path) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1824, in FindAndLoadModule > description) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1775, in LoadModuleRestricted > description) > File "/home/systemadmin/bfgapp/lib/python2.5/site.py", line 599, in > <module> > main() > File "/home/systemadmin/bfgapp/lib/python2.5/site.py", line 578, in main > paths_in_sys = addusersitepackages(paths_in_sys) > File "/home/systemadmin/bfgapp/lib/python2.5/site.py", line 310, in > addusersitepackages > USER_BASE = joinuser("~", ".local") > File "/home/systemadmin/bfgapp/lib/python2.5/site.py", line 291, in > joinuser > return os.path.expanduser(os.path.join(*args)) > File "/usr/lib/python2.5/posixpath.py", line 321, in expanduser > userhome = pwd.getpwuid(os.getuid()).pw_dir > AttributeError: 'module' object has no attribute 'getuid' > > Then I tried to start the engine with the system python, I got another > error: > Traceback (most recent call last): > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 3185, in _HandleRequest > self._Dispatch(dispatcher, self.rfile, outfile, env_dict) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 3128, in _Dispatch > base_env_dict=env_dict) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 515, in Dispatch > base_env_dict=base_env_dict) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 2387, in Dispatch > self._module_dict) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 2297, in ExecuteCGI > reset_modules = exec_script(handler_path, cgi_path, hook) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 2193, in ExecuteOrImportScript > exec module_code in script_module.__dict__ > File "/home/systemadmin/bfgapp/app/runner.py", line 47, in <module> > __import__(module_name) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1922, in load_module > return self.FindAndLoadModule(submodule, fullname, search_path) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1824, in FindAndLoadModule > description) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1775, in LoadModuleRestricted > description) > File "/home/systemadmin/bfgapp/app/bfghack/run.py", line 2, in <module> > from repoze.zodbconn.finder import PersistentApplicationFinder > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1922, in load_module > return self.FindAndLoadModule(submodule, fullname, search_path) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1824, in FindAndLoadModule > description) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1775, in LoadModuleRestricted > description) > File > "/home/systemadmin/bfgapp/app/lib/python/repoze.zodbconn-0.10-py2.5.egg/repoze/zodbconn/finder.py", > line 2, in <module> > from repoze.zodbconn.uri import db_from_uri > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1922, in load_module > return self.FindAndLoadModule(submodule, fullname, search_path) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1824, in FindAndLoadModule > description) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1775, in LoadModuleRestricted > description) > File > "/home/systemadmin/bfgapp/app/lib/python/repoze.zodbconn-0.10-py2.5.egg/repoze/zodbconn/uri.py", > line 3, in <module> > from repoze.zodbconn.resolvers import RESOLVERS > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1922, in load_module > return self.FindAndLoadModule(submodule, fullname, search_path) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1824, in FindAndLoadModule > description) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1775, in LoadModuleRestricted > description) > File > "/home/systemadmin/bfgapp/app/lib/python/repoze.zodbconn-0.10-py2.5.egg/repoze/zodbconn/resolvers.py", > line 10, in <module> > from ZODB.FileStorage.FileStorage import FileStorage > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1922, in load_module > return self.FindAndLoadModule(submodule, fullname, search_path) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1824, in FindAndLoadModule > description) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1775, in LoadModuleRestricted > description) > File > "/home/systemadmin/bfgapp/app/lib/python/ZODB3-3.10.0a1-py2.5-linux-i686.egg/ZODB/__init__.py", > line 17, in <module> > from persistent import TimeStamp > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1922, in load_module > return self.FindAndLoadModule(submodule, fullname, search_path) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1824, in FindAndLoadModule > description) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1272, in Decorate > return func(self, *args, **kwargs) > File > "/home/systemadmin/google_appengine/google/appengine/tools/dev_appserver.py", > line 1775, in LoadModuleRestricted > description) > File > "/home/systemadmin/bfgapp/app/lib/python/ZODB3-3.10.0a1-py2.5-linux-i686.egg/persistent/__init__.py", > line 19, in <module> > from cPersistence import Persistent, GHOST, UPTODATE, CHANGED, STICKY > ImportError: No module named cPersistence > > Any body can help on this issue? > > _______________________________________________ > Repoze-dev mailing list > Repoze-dev@lists.repoze.org > http://lists.repoze.org/listinfo/repoze-dev > > _______________________________________________ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev