PyPy可以与asyncio一起使用吗?

Art*_*nov 9 python performance asynchronous pypy python-asyncio

PyPy是否支持aio和Python 3.5?

我需要性能PyPy和异步代码asyncio.我还需要async/await在我的代码中使用.那可能吗?

如果是这样,有什么细微差别?

Man*_*cob 17

目前PyPy支持Python 3.5,因此asyncio应该可以工作.但是,Windows上的Python 3.x仍然是beta版.不幸的是,目前尚未实现在Windows上运行asyncio所需的重叠IO扩展模块.


旧的,现已过时(截至2018-06-10)注:

目前PyPy支持Python 3.5.请注意,PyPy的Python 3支持目前只是beta版.我们一直在努力改进它.但它尚未准备好生产.大多数代码asyncio都应该正常工作.如果没有,请检查打开的错误报告创建一个新报告或在评论中告诉我.


旧的,现已过时(截至2017-08-18)注:

目前PyPy支持Python 3.3.这意味着您可以在PyPy3.3安装 asyncio.请注意,PyPy的3.3支持目前仅支持alpha/beta质量.然而,我们正积极致力于提高性能和与CPython的兼容性.

async/ await功能是在Python 3.5增加.我们开始了一个非常实验性的分支,支持Python 3.5,但它还有很长的路要走.幸运的是,我们目前有一名GSoC学生正在研究它,但仍需要几年时间(取决于我们收到多少捐款和志愿者工作).

编辑1:以前有一个功能缺少运行asyncio.它在此编辑之前不久实施.相应地编辑了答案.

编辑2:我们刚刚发布了PyPy3.3的alpha版本.我们不建议任何人尝试仅支持Python 3.2的旧PyPy3版本.这就是我重写大部分答案的原因.


旧的,现在已经过时(截至2016-05-30)备注:

来自网站的PyPy3版本非常陈旧,只实现了Python 3.2 - 我们还没有发布超过一年半的版本.由于Python 3.2缺少该yield from功能,因此asyncio不适用于此版本.