chaperone icon indicating copy to clipboard operation
chaperone copied to clipboard

chaperone python3.2 issues :(

Open xinity opened this issue 9 years ago • 2 comments

hi,

benn trying to install chaperone with python3.2 (debian7), it clearly fails :( error logs:


    no previously-included directories found matching 'documentation/_build'
Installing collected packages: chaperone, docopt, PyYAML, voluptuous, aiocron, setproctitle, croniter, trollius, python-dateutil, six
  Running setup.py install for chaperone
      File "/usr/local/lib/python3.2/dist-packages/chaperone/cutil/servers.py", line 46
        self.server = yield from self._create_server()
                               ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.2/dist-packages/chaperone/cutil/syslog_handlers.py", line 130
        (transport, protocol) = yield from connect
                                         ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.2/dist-packages/chaperone/cutil/notify.py", line 49
        yield from self.run()
                 ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.2/dist-packages/chaperone/cproc/commands.py", line 45
        result = yield from self.do_exec(opts, protocol.owner.controller)
                          ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.2/dist-packages/chaperone/cproc/subproc.py", line 24
        data = yield from stream.readline()
                        ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.2/dist-packages/chaperone/cproc/process_manager.py", line 182
        yield from asyncio.sleep(0.1)
                 ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.2/dist-packages/chaperone/cproc/pt/forking.py", line 11
        result = yield from self.timed_wait(self.process_timeout, self._exit_timeout)
                          ^
    SyntaxError: invalid syntax

      File "/usr/local/lib/python3.2/dist-packages/chaperone/cproc/pt/cron.py", line 74
        yield from super().start()
                 ^
    SyntaxError: invalid syntax

this seems to be related to chaned appeared in python3.3: https://docs.python.org/3/whatsnew/3.3.html

by any chance, is there any way to make chaperone compatible with python3.2 ?

thanks anyway for this awesome piece of work :)

xinity avatar Jul 27 '16 12:07 xinity

Unfortunately, the whole architecture of Chaperone does rely upon Python's new yield from statement as well as the asyncio module, which was not introduced until Python 3.4. So, 3.4 is really a minimum version. It was a tough decision actually, however, supporting older versions of Python would have introduced more dependencies (such as eventlet or Twisted) and that would have added to the requirement footprint.

I do have plans in the background to create a pure C++ version of Chaperone, but there is no time schedule for that yet. More and more people are starting to use it though, so it will bubble up on the priority list.

garywiz avatar Jul 28 '16 23:07 garywiz

A pure GO version will be great :D

JrCs avatar Aug 17 '16 07:08 JrCs