使用NameServer启动Pyro守护进程出错:“找不到NameServer”
我正在尝试运行一个简单的Pyro示例(来自这个页面),这是代码:
import Pyro.core
import Pyro.naming
class JokeGen(Pyro.core.ObjBase):
def joke(self, name):
return "Sorry "+name+", I don't know any jokes."
daemon=Pyro.core.Daemon()
ns=Pyro.naming.NameServerLocator().getNS()
daemon.useNameServer(ns)
uri=daemon.connect(JokeGen(),"jokegen")
daemon.requestLoop()
当我在Python 2.6.5和Python 2.6.6上运行这个脚本时(我在Ubuntu 10.04和Debian Squeeze上都试过),总是会出现这个错误:
Traceback (most recent call last):
File "/home/ingo/tools/python/pyroserver.py", line 9, in <module>
ns=Pyro.naming.NameServerLocator().getNS()
File "/usr/lib/pymodules/python2.6/Pyro/naming.py", line 176, in getNS
reply = self.sendSysCommand(NS_SYSCMD_LOCATION,host,port,trace,1,bcaddr)
File "/usr/lib/pymodules/python2.6/Pyro/naming.py", line 76, in sendSysCommand
raise Pyro.errors.NamingError("could not find NameServer")
Pyro.errors.NamingError: could not find NameServer
这个脚本有什么问题?我该如何创建那个名字服务器?
1 个回答
4
首先在另一个终端窗口运行 pyro-ns
。这个是 Pyro 的对象代理。