热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

gevent简介1

为什么80%的码农都做不了架构师?译自官网http:www.gevent.orgintro.html#installation-and-requirements

为什么80%的码农都做不了架构师?>>>   hot3.png

译自官网 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.Eventgevent.queue.Queue).   API重用了python标准库的概念.
  • Cooperative socket and ssl 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后台的附加模块).


转:https://my.oschina.net/fdayok/blog/786037



推荐阅读
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
author-avatar
手机用户2502917141
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有