Forums

Pyro4 daemon fails / operation note permitted

My code:

import Pyro4

@Pyro4.expose
class PyroBot(object):
    def get_response(self, name):
        string = response(name)
        return string.format(name)

daemon = Pyro4.Daemon()                # make a Pyro daemon
ns = Pyro4.locateNS()                  # find the name server
uri = daemon.register(PyroBot)   # register the greeting maker as a Pyro object
ns.register("example.bot", uri)        # register the object with a name in the name server

print("Ready.")
daemon.requestLoop()                   # start the event loop of the server to wait for calls

Error:

 File "/home/jamesdhope/ML/ChatBot.py", line 244, in <module>
    ns = Pyro4.locateNS()                  # find the name server
  File "/home/jamesdhope/.local/lib/python3.6/site-packages/Pyro4/core.py", line 1858, in _locateNS
    sock.sendto(b"GET_NSURI", 0, (bcaddr, port))
PermissionError: [Errno 1] Operation not permitted

Any guidance appreciated.

[edit by admin: formatting]

Please can you run a Pyro4 name server

I don't think that's going to work on PythonAnywhere -- we don't support general socket-based servers, just web apps using the WSGI protocol.