高并发网络库
项目描述
Eventlet 是一个用于 Python 的并发网络库,它允许您更改运行代码的方式,而不是编写代码的方式。
它使用 epoll 或 libevent 进行高度可扩展的非阻塞 I/O。协程确保开发人员使用类似于线程的阻塞编程风格,但提供非阻塞 I/O 的好处。事件分派是隐式的,这意味着您可以轻松地从 Python 解释器中使用 Eventlet,或者作为大型应用程序的一小部分。
使用 Eventlet 很容易上手,并且很容易将现有应用程序转换为使用它。从查看示例、 常见设计模式和基本 API 原语列表开始。
快速示例
您可以在命令行上尝试以下操作:
% python3 >>> import eventlet >>> from eventlet.green.urllib.request import urlopen >>> gt = eventlet.spawn(urlopen, 'http://eventlet.net') >>> gt2 = eventlet.spawn(urlopen, 'http://secondlife.com') >>> gt2.wait() >>> gt.wait()
获取 Eventlet
获取 Eventlet 最简单的方法是使用 pip:
pip install -U eventlet
安装最新的开发版本一次:
pip install -U https://github.com/eventlet/eventlet/archive/master.zip
在本地构建文档
要构建一套完整的 HTML 文档,您必须拥有 Sphinx,可以在http://sphinx.pocoo.org/找到它(或使用pip install Sphinx 安装):
cd doc make html
之后可以在 doc/_build/html 中找到构建的 html 文件。
扭曲的
Eventlet 过去有 Twisted 集线器,但随着时间的推移,社区对这种集成的兴趣已经下降,现在它不受支持,因此对于给您带来的任何不便,我们深表歉意,我们停止了 Twisted 集成。
如果你有一个使用 Eventlet 和 Twisted 的项目,你的选择是:
使用最后一个工作版本 eventlet==0.14
仅使用 Twisted hub 代码开始一个新项目,识别并修复问题。从 eventlet 0.13 开始,EVENTLET_HUB环境变量可以指向外部模块。
fork Eventlet,恢复 Twisted 删除,识别和修复问题。这项工作可能会合并回主项目。
对任何不便表示歉意。
支持的 Python 版本
目前支持 CPython 2.7 和 3.4+,但不推荐使用 2.7 和 3.4 支持并将在未来删除,仅保留 CPython 3.5+ 支持。
天赋
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。