読者です 読者をやめる 読者になる 読者になる

Mac OS X に gevent をソースコードからインストールする

gevent: A coroutine-based network library for Python http://www.gevent.org/

pip からではなくソースから入れる方法を。pip でも dev を入れられたりするのかな。

追記

  • リポジトリに libev が含まれるようになったので何もいらないとのことです thx @nobonobo
    • homebrew と libev について削除する

環境

OS
10.7.3
Python
2.7.2

インストール

cython と greenlet を入れます

$ pip install cython greenlet

gevent リポジトリのミラーが github にあるのでそこから入れます。

https://github.com/schmir/gevent

$ git clone git://github.com/schmir/gevent.git

build して install

$ python setup.py build
$ python setup.py install

@heavenshell 先生の確認コードをパクってみます

$ ipython
Python 2.7.2 (default, Jun 15 2011, 16:46:46) 
Type "copyright", "credits" or "license" for more information.

IPython 0.12 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
>>> import gevent
>>> from gevent import socket
>>> urls = ['www.google.com', 'www.example.com', 'www.python.org']
>>> jobs = [gevent.spawn(socket.gethostbyname, url) for url in urls]
>>> gevent.joinall(jobs, timeout=2)
>>> [job.value for job in jobs]
['74.125.235.178', '192.0.43.10', '82.94.164.162']

これで準備出来ました。ただ公式サイトのドキュメントは 0.13 系なので、開発版とは色々違うと思うのでそこはソースを読みましょう。

参考