python 异步语法无效 ubuntu

python asyncio invalid syntax ubuntu

在 OS X 上,我的代码工作正常。在 ubuntu 上尝试准确的代码,我得到一个语法错误:

ubuntu@home:server$ python3 server.py
  File "server.py", line 39
    async def hello(websocket, path):
            ^
SyntaxError: invalid syntax

我用 pip3 install asyncio 安装了 asyncio

我也尝试升级到 python 3.5,但它会导致其他库出现大量库错误,到目前为止我无法在 ubuntu 上使用 python 3.5 ] 虽然它适用于 python 3.5 on OS X.

您的 OS X 机器和 ubuntu 机器上的 python 版本不同。

async def syntax was added in python 3.5

没有希望在 python 3.4 上使用该语法。

用 @asyncio.coroutine / yield from 语法替换你的 async / await 函数,它应该可以工作

@asyncio.coroutine
def hello(websocket, path):
    yield from x