Eventlet:一个 Python 异步库的 18 年生涯
Eventlet:一个 Python 异步库的 18 年生涯
Eventlet 是一个有 18 年历史的 Python 并发网络库,GitHub 上收获了 1274 个 Star。它基于 epoll 或 libevent 实现非阻塞 I/O,用协程让开发者以同步风格写异步代码。事件分发是隐式的,你可以在解释器里直接使用,也可以嵌入到大型应用中。
项目诞生于 CPython 标准库还没有 async 支持的年代。那时候想做异步网络编程,从 threading 切换过来,Eventlet 是最顺手的选择之一。
但 README 打开第一行就是加粗警告:新项目不建议再用。
原因写得直白:CPython 这些年迭代了很多版本,Eventlet 的维护力度没有跟上。两者之间的差距已经大到可能引发意外 bug。官方原话是 this gap is now too high。
目前 Eventlet 进入纯维护阶段。只修 bug,不做新功能。唯一的例外是 asyncio 迁移相关的改造。维护团队的目标是规划项目退役,帮现有用户迁移到 asyncio。
如果你还没接触过 Eventlet,官方建议直接学 asyncio,这是 CPython 标准库自带的异步方案。如果你已经在用 Eventlet,可以看官方提供的迁移指南。有疑问也可以在 Issues 里提。
安装门槛很低,pip install eventlet 一条命令搞定。也支持直接从 GitHub 装开发版本。兼容 Python 3.8 到 3.13。官方文档提供了 examples、design patterns 和 API 说明,内容完整。
这个项目的故事是技术选型的一个典型样本。当年再好用的库,十几年后也可能被标准库取代。Eventlet 把话说清楚了,给用户指了出路,算得上体面收场。

7-1782201377685)]

更多推荐

所有评论(0)