为什么80%的码农都做不了架构师?>>>
译自官网 http://www.gevent.org/intro.html#installation-and-requirements
Introduction介绍gevent is a coroutine-based Python networking library.
gevent 是基于协程的Python网络库.
Features include:
特性如下:
- Fast event loop based on libev (epoll on Linux, kqueue on FreeBSD, select on Mac OS X). 基于libev的快速事件循环(linux上使用epoll,FreeBSD上用kqueue,Mac OS X上用select)
- Lightweight execution units based on greenlet. 基于协程的轻量级执行单元.
- API that re-uses concepts from the Python standard library (e.g.
gevent.event.Event
,gevent.queue.Queue
). API重用了python标准库的概念. - Cooperative
socket
andssl
modules. 可与socket和ssl模块协同工作. - Ability to use standard library and 3rd party modules written for standard blocking sockets (
gevent.monkey
). 可与基于标准的阻塞式socket通信的标准库或3方库协同工作的能力. - DNS queries performed through threadpool (default) or through c-ares (enabled via GEVENT_RESOLVER=ares env var). DNS查询可用threadpool或c-ares(通过设置GEVENT_RESOLVER=ares环境变量开启).
- TCP/UDP/HTTP servers
- Subprocess support (through
gevent.subprocess
) - Thread pools
Installation and Requirements 安装和要求
gevent 1.2 runs on Python 2 and Python 3. Version 2.7 of Python 2 is supported, and versions 3.4, 3.5 and 3.6 of Python 3 are supported. (Users of older versions of Python 2 need to install gevent 1.0.x (2.5) or 1.1.x (2.6); Python 3 is not supported by 1.0.) gevent requires the greenlet library.
gevent 1.2可以在python2或python3上运行.python2中2.7是支持的,python3中的3.4,3.5和3.6是支持的.(python2旧版本的用户需要安装gevent 1.0.x(2.5) 或1.1.x(2.6);1.0版本不支持python 3).gevent依赖greenlet库.
Note
Python 3.3 is no longer actively supported since it is not supported by the Python developers. However, it should continue to work with gevent 1.2 with the same level of support as gevent 1.1. For Python 3.3, version 3.3.5 or newer is required to use the gevent’s SSL support due to bugs in the standard library of older versions. For Python 2, 2.7.9 or newer is recommended for the best SSL support; 2.7.8 is also tested although it offers a less-secure SSL module.
因为python开发者已对不支持Python 3.3,所以python3.3不再是明确支持的了.但是,gevent1.2和gevent1.1是同样支持级别,所以应该可以在python3.3上继续运行的.对python3.3,版本3.3.5或更高版本需要启用gevent的SSL支持以规避旧版本标准库的bug.对python2,2.7.9或更高版本建议启用SSL支持;2.7.8也是测试过的即使它提供了一个不那么安全的SSL模块.
gevent 1.2 also runs on PyPy 2.6.1 and above, although 5.0 or above is strongly recommended. On PyPy, there are no external dependencies.
gevent1.2也可以运行在PyPy 2.6.1或更高版本,但是强烈建议使用5.0以上版本.在PyPy中不依赖额外模块.
gevent is tested on Windows, OS X, and Linux, and should run on most other Unix-like operating systems (e.g., FreeBSD, Solaris, etc.)
gevent在windows,OS X,和linux上测试过,并且可以运行在多数类Unix操作系统上(如FreeBSD,Solaris,等待)
Note
gevent does not run on PyPy on Windows because the CFFI backend does not build.
在Windows上gevent不支持PyPy,因为CFFI后端没有构建.
Note
On Windows, gevent is limited to a maximum of 1024 open sockets due tolimitations in libev.
在Windwos上,因为libdev的限制,gevent被限制最多使用1024的打开的socket.
gevent and greenlet can both be installed with pip, e.g., pip install gevent
. On Windows and OS X, both gevent and greenlet are distributed as binary wheels, so no C compiler is required (so long as pip is at least version 8.0). On Linux or for Mac OS X variants without pre-built wheels or if wheel installation is disabled, a C compiler (Xcode on OS X) and the Python development package are required. cffi can optionally be installed to build the CFFI backend in addition to the Cython backend on CPython.
gevent和greenlet都可以使用pip安装,如:pip install gevent.在Windows和OS X上,gevent和greenlet都是用二进制的wheel包发布的,所以不需要C编译器(因此pip最低要求8.0版本).在Linux或Mac OS X的变体版本,没有已构建的wheel包或wheel安装已被禁用情况下,一个C编译器(OS X的Xcode)和Python SDK是需要的.cffi是可选安装的,用来构建CFFI后端(是CPython中Cython后台的附加模块).