Gevent 1.5的新功能#
有关更改内容的详细信息,请参阅 1.5版的更改 。这份文件总结了自 gevent 1.4 。
gevent1.5是一个维护和特性发布,包括bug修复和一些API改进。
版本#
平台支撑#
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-network
或 GEVENTTEST_USE_RESOURCES=-network python -m gevent.tests
. 见 限制资源使用 更多信息。
其他变化#
文件对象已经过修改,以支持更多的模式,并且行为更像内置的 open()
或函数:io.打开`功能和 :mod:`io
类。以前它们基本上只处理二进制流。某些默认值也已更改。
不推荐使用的magic代理对象 gevent.signal
已删除。