python asyncio 无效语法 ubuntu
Posted
技术标签:
【中文标题】python asyncio 无效语法 ubuntu【英文标题】:python asyncio invalid syntax ubuntu 【发布时间】:2016-12-18 17:55:18 【问题描述】:在 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,尽管它适用于 OS X 上的 python 3.5。
【问题讨论】:
async def 是 python3.5 的新功能。 docs.python.org/3.4/library/asyncio-task.html#asyncio.coroutine 有一个在 3.4 中做同样事情的例子 【参考方案1】:您的 OS X 机器和 ubuntu 机器上有不同版本的 python。
async def
syntax was added in python 3.5。
没有希望在 python 3.4 上使用该语法。
【讨论】:
【参考方案2】:用 @asyncio.coroutine / yield from 语法替换你的 async / await 函数,它应该可以工作
@asyncio.coroutine
def hello(websocket, path):
yield from x
【讨论】:
以上是关于python asyncio 无效语法 ubuntu的主要内容,如果未能解决你的问题,请参考以下文章
python asyncio 异步 I/O - 协程(Coroutine)与运行
asyncio--python3未来并发编程主流充满野心的模块