跳转到主要内容

PEP 3156的参考实现

项目描述

此版本仅适用于Python 3.3,它在其标准库中不包括asyncio。

主仓库: https://github.com/python/asyncio

asyncio模块提供用于编写单线程并发代码的基础设施,使用协程在套接字和其他资源上复用I/O访问,运行网络客户端和服务器,以及其他相关原语。以下是包内容的更详细列表

  • 具有各种系统特定实现的插件式事件循环;

  • 传输和协议抽象(类似于Twisted中的);

  • 对TCP、UDP、SSL、子进程管道、延迟调用等的具体支持(某些可能依赖于系统);

  • Future类,模仿concurrent.futures模块中的类,但适用于事件循环;

  • 基于yield from(PEP 380)的协程和任务,帮助以顺序方式编写并发代码;

  • Future和协程的取消支持;

  • 用于单线程中协程间的同步原语,模仿threading模块中的;

  • 将工作传递给线程池的接口,在您绝对、肯定必须使用使阻塞I/O调用的库时使用。

注意:asyncio的实现之前被称为“Tulip”。

安装

要安装asyncio,请输入

pip install asyncio

asyncio需要Python 3.3或更高版本!asyncio模块自Python 3.4起成为Python标准库的一部分。

asyncio 是一个在 Apache 许可证 2.0 版下分发的免费软件。

网站

开发

实际代码位于“asyncio”子目录中。测试位于“tests”子目录。

要运行测试,请运行

tox

或者使用 Makefile

make test

要运行覆盖率测试(需要 coverage 包)

make coverage

在 Windows 上,事情要复杂一些。假设“P”是您的 Python 可执行文件(例如 C:Python33python.exe)。

您必须首先构建 _overlapped.pyd 扩展并将其放置在 asyncio 目录中,如下所示

C> P setup.py build_ext –inplace

如果它抱怨 vcvars.bat,那么你可能没有安装所需的 Visual Studio 版本。编译 Python 3.3 的扩展需要任何版本的 Microsoft Visual C++ 2010 (MSVC 10.0);您可以免费从 http://www.visualstudio.com/downloads 下载 Visual Studio Express 2010(滚动到 Visual C++ 2010 Express)。

成功构建 _overlapped.pyd 扩展后,您可以按以下方式运行测试

C> P runtests.py

以及覆盖率测试如下

C> P runtests.py –coverage

项目详情


下载文件

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

源代码分发

asyncio-3.4.3.tar.gz (204.4 kB 查看哈希值)

上传时间 源代码

构建的分发

asyncio-3.4.3-py3-none-any.whl (101.8 kB 查看哈希值)

上传时间 Python 3

asyncio-3.4.3-cp33-none-win_amd64.whl (112.7 kB 查看哈希值)

上传时间 CPython 3.3 Windows x86-64

asyncio-3.4.3-cp33-none-win32.whl (111.2 kB 查看哈希值)

上传时间 CPython 3.3 Windows x86

由以下支持