robinhood / faust

Python Stream Processing
Other
6.7k stars 538 forks source link

Eventlet has a syntax error in the python3.7 environment #744

Open hustlibraco opened 2 years ago

hustlibraco commented 2 years ago

Checklist

Steps to reproduce

Install faust in Python3.7, and run a demo in eventlet mode, will raise exception.

Expected behavior

faust[eventlet] should be compatible with Python 3.7

Actual behavior

raise SyntaxError

Full traceback

(.venv37) root@deployment:~/repo/sniper/api# python -V
Python 3.7.10
(.venv37) root@deployment:~/repo/sniper/api# faust -A api.assetsec.faustapp worker -L eventlet -l debug
Traceback (most recent call last):
  File "/root/repo/sniper/.venv37/bin/faust", line 5, in <module>
    from faust.cli.faust import cli
  File "/root/repo/sniper/.venv37/lib/python3.7/site-packages/faust/__init__.py", line 110, in <module>
    mode.loop.use(_loop)
  File "/root/repo/sniper/.venv37/lib/python3.7/site-packages/mode/loop/__init__.py", line 71, in use
    importlib.import_module(mod)
  File "/root/.pyenv/versions/3.7.10/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/root/repo/sniper/.venv37/lib/python3.7/site-packages/mode/loop/eventlet.py", line 13, in <module>
    import aioeventlet
  File "/root/repo/sniper/.venv37/lib/python3.7/site-packages/aioeventlet.py", line 332
    future = asyncio.async(future, loop=loop)
                         ^
SyntaxError: invalid syntax

Versions