3

非同期httpリクエストにgeventを利用する再利用可能なpythonモジュールを実装しています。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 に答える