美文网首页
OSX安装gevent

OSX安装gevent

作者: her0kings1ey | 来源:发表于2016-07-16 00:42 被阅读1581次

    OSX安装gevent

    her0kings1ey

    最近在OSX下尝试安装运行gevent的examples中间遇到了十分多的麻烦,在这里记录一下安装运行的过程,省得自己以后忘记。

    概要

    以下是在OSX下安装gevent的概要,方便各位(主要是以后的自己)迅速完成安装。

    1. 安装libevent环境(可以通过brew install libevent) 的方式把libevent的环境安装到/usr/local/下
    2. 不要使用系统自带的python进行pip install!!!
    3. 使用pyenv在/usr/local/下安装python(pyenv install 2.7.11,如果遇到Build failed: "ERROR: The Python zlib extension was not compiled. Missing the zlib?"这个报错,需要执行xcode-select --install命令 。安装完毕后使用pyenv global 2.7.11命令切换python版本)
    4. 使用pip install greenlet安装greenlet
    5. 使用pip install gevent完成gevent安装

    这样就完成了gevent的安装,随便运行examples目录下的一个例子(如:echoserver.py)验证。

    gevent简介

    gevent is a coroutine -based Python networking library that uses greenlet to provide a high-level synchronous API on top of the libev event loop.
    Features include:
    · Fast event loop based on libev (epoll on Linux, kqueue on FreeBSD).
    · Lightweight execution units based on greenlet.
    · API that re-uses concepts from the Python standard library (for example there aregevent.event.Events and gevent.queue.Queues).
    · Cooperative sockets with SSL support
    · DNS queries performed through threadpool or c-ares.
    · Monkey patching utility to get 3rd party modules to become cooperative

    gevent是一个基于协程的python网络库,它通过greenlet来提供一个底层为libev的事件循环的高层的同步API借口。

    它包含以下特性:

    • 基于libev的高效事件循环器(linux下基于epoll,FreeBSD基于kqueue)
    • 基于greenlet的轻量级执行单元
    • API重用了python标准库的概念(如:gevent.event.Events 和gevent.queue.Queues)
    • socket对SSL的支持
    • 通过线程池来执行DNS查询
    • 通过monkey patching的方式来引入第三方模块。

    以上是来自于gevent官方网站的简介。通过gevent我们能在python下进行网络编程。

    gevent的安装

    通过brew install安装libevent。

    brew是一个OSX安装软件的利器。它会安装到homebrew自己的目录并且在/usr/local/下建立软链。

    安装pyenv(brew install pyenv),然后通过pyenv install 2.7.11的方法安装python

    在同一主机上拥有多个python版本,并能进行简单切换。(在/usr/local/下)

    pip安装cython

    cython是c在python下的一个扩展,能通过python调用native方法。

    pip安装greenlet

    python的一个协程库。

    pip安装gevent

    最后,后面会继续基于gevent进行网络编程的学习。

    Reference

    1. mac 下安装gevent
      https://www.phodal.com/blog/mac-os-x-10-9-install-gevent-greenlet/
    2. pyenv issue(常见构建问题)
      https://github.com/yyuu/pyenv/wiki/Common-build-problems
    3. 10.10以前的版本安装gevent的一种方法
      http://guoqiao.me/post/2015/0102-pip-sudofree-on-mac-os-x

    相关文章

      网友评论

          本文标题:OSX安装gevent

          本文链接:https://www.haomeiwen.com/subject/jtxujttx.html