在 OSX 上安装 Gevent

在 OSX 上安装 Gevent
>>> import gevent
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "build/bdist.macosx-10.6-universal/egg/gevent/__init__.py", line 41, in <module>
  File "build/bdist.macosx-10.6-universal/egg/gevent/core.py", line 7, in <module>
  File "build/bdist.macosx-10.6-universal/egg/gevent/core.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/admin/.python-eggs/gevent-0.13.6-py2.6-macosx-10.6-universal.egg-tmp/gevent/core.so, 2): Symbol not found: _event_global_current_base_
  Referenced from: /Users/admin/.python-eggs/gevent-0.13.6-py2.6-macosx-10.6-universal.egg-tmp/gevent/core.so
  Expected in: flat namespace
 in /Users/admin/.python-eggs/gevent-0.13.6-py2.6-macosx-10.6-universal.egg-tmp/gevent/core.so

这是怎么回事?安装过程中我没有收到任何错误

答案1

已为 github 修复

自由事件

首先,我喜欢通过 macports 来获取 libevent。如果你已经在系统上这样做了,请忽略这一点。

sudo ports install libevent

或者,您可以自己构建它或使用 Homebrew。顺便说一句,MacPorts 和 Homebrew 都使用较新的 Libevent2.XX 分支。

安装 cython

pip install cython

安装 greenlet(可选,因为 gevent 将构建它)。

pip install greenlet

克隆、构建、安装 gevent。

git clone https://github.com/gevent/gevent.git

我喜欢先构建 gevent 来查看一切是否正确。首先切换到 gevent 目录,然后:

python setup.py build

如果一切顺利,请继续安装:

python setup.py install

相关内容