4

我已按照http://code.google.com/p/pubsubhubbub/wiki/DeveloperGettingStartedGuide中的说明设置集线器。当我启动集线器时,我收到以下警告

$ sudo python2.5 google_appengine/dev_appserver.py pubsubhubbub/hub/
INFO     2010-03-04 12:29:57,928 appengine_rpc.py:157] Server: appengine.google.com
INFO     2010-03-04 12:29:57,959 appcfg.py:329] Checking for updates to the SDK.
WARNING  2010-03-04 12:29:58,272 datastore_file_stub.py:418] Could not read datastore data from /tmp/dev_appserver.datastore
WARNING  2010-03-04 12:29:58,273 datastore_file_stub.py:418] Could not read datastore data from /tmp/dev_appserver.datastore.history
INFO     2010-03-04 12:29:58,349 dev_appserver_main.py:465] Running application pubsubhubbub on port 8080: http://localhost:8080

http://pastie.org/853356

当我将浏览器指向时http://localhost:8080,我的浏览器和控制台中抛出了一个令人讨厌的异常。AttributeError

ERROR    2010-03-04 12:31:27,735 dev_appserver.py:3000] Exception encountered handling request
Traceback (most recent call last):
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 2969, in _HandleRequest
    base_env_dict=env_dict)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 406, in Dispatch
    base_env_dict=base_env_dict)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 2238, in Dispatch
    self._module_dict)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 2156, in ExecuteCGI
    reset_modules = exec_script(handler_path, cgi_path, hook)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 2052, in ExecuteOrImportScript
    exec module_code in script_module.__dict__
  File "/home/pentarim/webdev/pshb/pubsubhubbub/hub/main.py", line 116, in <module>
    import dos
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 1158, in Decorate
    return func(self, *args, **kwargs)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 1806, in load_module
    return self.FindAndLoadModule(submodule, fullname, search_path)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 1158, in Decorate
    return func(self, *args, **kwargs)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 1708, in FindAndLoadModule
    description)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 1158, in Decorate
    return func(self, *args, **kwargs)
  File "/home/pentarim/webdev/pshb/google_appengine/google/appengine/tools/dev_appserver.py", line 1659, in LoadModuleRestricted
    description)
  File "/home/pentarim/webdev/pshb/pubsubhubbub/hub/dos.py", line 219, in <module>
    offset_multi=memcache.offset_multi,
AttributeError: 'module' object has no attribute 'offset_multi'
INFO     2010-03-04 12:31:27,749 dev_appserver.py:3029] "GET / HTTP/1.1" 500 -

http://pastie.org/853357

作为一个python新手需要帮助,有什么想法吗?

4

1 回答 1

3

http://code.google.com/p/pubsubhubbub/wiki/DeveloperGettingStartedGuide上的教程已过时,您需要至少使用 google app engine 1.2.8才能使其工作(其中新的 memcache offset_multi 方法和批量支持 incr和decr.被添加)

于 2010-03-04T13:19:29.903 回答