Gevent 1.5的新功能#

有关更改内容的详细信息,请参阅 1.5版的更改 。这份文件总结了自 gevent 1.4

gevent1.5是一个维护和特性发布,包括bug修复和一些API改进。

版本#

gevent的未来版本将使用类似于 CalVer . 见 释放过程 有关将来的弃用和功能删除的信息。

平台支撑#

gevent 1.5删除了对python3.4的支持,并删除了对pypyy<7的支持。它还增加了对python3.8的官方支持。

使用CPython 2.7.17、3.5.9、3.6.10、3.7.7、3.8.2、PyPy 27.3.0和PyPy3 7.3.0测试gevent。

小心

旧版本(如RHEL 5)不再受支持。

包装变更#

Gevent现在分布 manylinux2010 Linux的二进制轮子,而不是旧的 manylinux1 标准。这个更新的平台标签允许gevent在默认情况下分发libuv支持。Centos6是这个标签的基线。

gevent线束a pyproject.toml 现在。这对于从源代码构建非常有用。

小心

从源代码构建的需求可能已经发生了变化,特别是在最小容器环境中(例如,AlpineLinux)。看到了吗 从源安装 更多信息。

遗产 Makefile 已经被删除,取而代之的是内置的设置.py命令。

生成时使用的某些环境变量已被弃用并重命名。

生成 .c.h 文件不再包含在分发中。赛顿也不是 .pxd 文件夹。这是因为链接到内部C优化是不受支持的,如果针对不同版本的gevent而不是它编译的目的使用,则可能会崩溃。看到了吗 issue #1568 了解更多详细信息。

库更新#

libuv的捆绑版本从1.24更新到1.34,libev从4.23更新到4.31,c-ares从1.14更新到1.15。

使用Dnspython解析器需要1.16或更新版本的Dnspython。

测试更新#

Gevent的测试套件采用了标准库的“测试资源”概念,允许用户根据资源使用情况禁用某些测试。这主要是为了支持下游包装商。例如,要禁用需要Internet访问的测试,可以禁用 network 资源使用 python -m gevent.tests -u-networkGEVENTTEST_USE_RESOURCES=-network python -m gevent.tests . 见 限制资源使用 更多信息。

其他变化#

文件对象已经过修改,以支持更多的模式,并且行为更像内置的 open() 或函数:io.打开`功能和 :mod:`io 类。以前它们基本上只处理二进制流。某些默认值也已更改。

不推荐使用的magic代理对象 gevent.signal 已删除。