Skip to main content

高并发网络库

项目描述

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+ 支持。

天赋

https://img.shields.io/pypi/v/eventlet https://img.shields.io/github/workflow/status/eventlet/eventlet/test/master https://codecov.io/gh/eventlet/eventlet/branch/master/graph/badge.svg

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

eventlet-0.33.1.tar.gz (415.3 kB 查看哈希)

已上传 source

内置分布

eventlet-0.33.1-py2.py3-none-any.whl (226.8 kB 查看哈希

已上传 py2 py3