3

我正在实现可重用的 python 模块,它利用 gevent 进行异步 http 请求。如果 gevent 不可用,那么我们将退回到同步请求。现在我结束了:

_use_gevent = False

try:
    import gevent
    # gevent 1.0bN renamed coros to lock
    try:
        from gevent.lock import Semaphore
    except ImportError:
        from gevent.coros import Semaphore
    # Verify gevent has patched os. If not we just don't use gevent.
    import os
    if 'gevent' in os.fork.__module__:
        _use_gevent = True
except ImportError:
    pass

这是定义 gevent 是否可用及其补丁是否实际应用的正确方法吗?

4

1 回答 1

0

你可以检查一下sys.modules['gevent']

您还可以检查gevent.__version__是否必须导入 gevent.lock 或 gevent.coros。

于 2012-12-11T11:31:31.960 回答