Newbie: AttributeError: 'module' object has no attribute 'Client'

"Schneider" <[email protected]>
Newsgroups gmane.comp.python.pyro
Message-ID <000001cd3bdc$88123170$98369450$@com>
Hi all,

I am just getting started with Pyro4, so please forgive me if I am doing
something very stupid.
I want a client to register with a server, much like the chatter example,
which works nicely. However, my code gives the error :

AttributeError: 'module' object has no attribute 'Client'

The server:
import Pyro4
                 
class Server(object):
    def ping(self):
        return 'pong'
    def join(self, callback):
        self.callback = callback
        return "connected"
        
def main():
    try:
        with Pyro4.core.Daemon() as daemon:
            with Pyro4.naming.locateNS() as ns:
                uri = daemon.register(Server())
                ns.register("test.server", uri)
            # enter the service loop.
            daemon.requestLoop()
    except Pyro4.errors.NamingError, e:
        print e

if __name__ == "__main__":
    main()
    print "Done"

The client:

import Pyro4
from Pyro4 import threadutil
                       
class Client(object):
    def __init__(self):
        self.server = Pyro4.core.Proxy('PYRONAME:test.server')
        print self.server
    def start(self):
        print self.server.ping()
        self.server.join(self)
        while True:
            line = raw_input('> ').strip()
            if line=='/q':
                break
        
class DaemonThread(threadutil.Thread):
    def __init__(self, instance):
        threadutil.Thread.__init__(self)
        self.instance = instance
    def run(self):
        with Pyro4.core.Daemon() as daemon:
            daemon.register(self.instance)
            daemon.requestLoop()

client = Client()
daemonthread=DaemonThread(client)
daemonthread.start()         
client.start()
print('Exit.')

Output:

<Pyro4.core.Proxy at 0x18cd310, not connected, for PYRONAME:test.server>
pong
Traceback (most recent call last):
  File "C:\Users\schnef\workspace\clipserp\src\server\client.py", line 28,
in <module>
    client.start()
  File "C:\Users\schnef\workspace\clipserp\src\server\client.py", line 10,
in start
    self.server.join(self)
  File "C:\Python27\lib\site-packages\Pyro4\core.py", line 149, in __call__
    return self.__send(self.__name, args, kwargs)
  File "C:\Python27\lib\site-packages\Pyro4\core.py", line 289, in
_pyroInvoke
    raise data
AttributeError: 'module' object has no attribute 'Client'

I get the same error on Windows with python 2.7 and on Debian with Python
2.6. I have Pyro 4.1.4 installed.
I am lost, so any help would be appreciated very much,

TIA

Frans


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.