aiwaves-cn / agents

An Open-source Framework for Autonomous Language Agents

Home Page:http://www.aiwaves-agents.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AttributeError: module 'eventlet.green.select' has no attribute 'epoll'

ekiwi111 opened this issue · comments

  1. Cloned and installed with pip install -e .
  2. Went to examples directory cd examples
  3. Tried one of the examples with python Single_Agent/run_gradio.py --agent Single_Agent/shopping_assistant/config.json

Got the following output:

server: executing `python Single_Agent/gradio_backend.py --agent Single_Agent/shopping_assistant/config.json` ...
[2023-09-26 13:43:39,014] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect)
Traceback (most recent call last):
  File "/home/user/anaconda3/lib/python3.9/site-packages/transformers/utils/import_utils.py", line 1130, in _get_module
    return importlib.import_module("." + module_name, self.__name__)
  File "/home/user/anaconda3/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/user/anaconda3/lib/python3.9/site-packages/transformers/models/bert/modeling_bert.py", line 42, in <module>
    from ...modeling_utils import PreTrainedModel
  File "/home/user/anaconda3/lib/python3.9/site-packages/transformers/modeling_utils.py", line 38, in <module>
    from .deepspeed import deepspeed_config, is_deepspeed_zero3_enabled
  File "/home/user/anaconda3/lib/python3.9/site-packages/transformers/deepspeed.py", line 37, in <module>
    from accelerate.utils.deepspeed import HfDeepSpeedConfig as DeepSpeedConfig
  File "/home/user/anaconda3/lib/python3.9/site-packages/accelerate/__init__.py", line 3, in <module>
    from .accelerator import Accelerator
  File "/home/user/anaconda3/lib/python3.9/site-packages/accelerate/accelerator.py", line 41, in <module>
    from .tracking import LOGGER_TYPE_TO_CLASS, GeneralTracker, filter_trackers
  File "/home/user/anaconda3/lib/python3.9/site-packages/accelerate/tracking.py", line 50, in <module>
    import wandb
  File "/home/user/anaconda3/lib/python3.9/site-packages/wandb/__init__.py", line 26, in <module>
    from wandb import sdk as wandb_sdk
  File "/home/user/anaconda3/lib/python3.9/site-packages/wandb/sdk/__init__.py", line 5, in <module>
    from . import wandb_helper as helper  # noqa: F401
  File "/home/user/anaconda3/lib/python3.9/site-packages/wandb/sdk/wandb_helper.py", line 6, in <module>
    from .lib import config_util
  File "/home/user/anaconda3/lib/python3.9/site-packages/wandb/sdk/lib/config_util.py", line 9, in <module>
    from wandb.util import load_yaml
  File "/home/user/anaconda3/lib/python3.9/site-packages/wandb/util.py", line 53, in <module>
    import sentry_sdk  # type: ignore
  File "/home/user/anaconda3/lib/python3.9/site-packages/sentry_sdk/__init__.py", line 1, in <module>
    from sentry_sdk.hub import Hub, init
  File "/home/user/anaconda3/lib/python3.9/site-packages/sentry_sdk/hub.py", line 8, in <module>
    from sentry_sdk.scope import Scope
  File "/home/user/anaconda3/lib/python3.9/site-packages/sentry_sdk/scope.py", line 7, in <module>
    from sentry_sdk.utils import logger, capture_internal_exceptions
  File "/home/user/anaconda3/lib/python3.9/site-packages/sentry_sdk/utils.py", line 885, in <module>
    HAS_REAL_CONTEXTVARS, ContextVar = _get_contextvars()
  File "/home/user/anaconda3/lib/python3.9/site-packages/sentry_sdk/utils.py", line 855, in _get_contextvars
    if not _is_contextvars_broken():
  File "/home/user/anaconda3/lib/python3.9/site-packages/sentry_sdk/utils.py", line 816, in _is_contextvars_broken
    from eventlet.patcher import is_monkey_patched  # type: ignore
  File "/home/user/anaconda3/lib/python3.9/site-packages/eventlet/__init__.py", line 17, in <module>
    from eventlet import convenience
  File "/home/user/anaconda3/lib/python3.9/site-packages/eventlet/convenience.py", line 7, in <module>
    from eventlet.green import socket
  File "/home/user/anaconda3/lib/python3.9/site-packages/eventlet/green/socket.py", line 21, in <module>
    from eventlet.support import greendns
  File "/home/user/anaconda3/lib/python3.9/site-packages/eventlet/support/greendns.py", line 79, in <module>
    setattr(dns, pkg, import_patched('dns.' + pkg))
  File "/home/user/anaconda3/lib/python3.9/site-packages/eventlet/support/greendns.py", line 61, in import_patched
    return patcher.import_patched(module_name, **modules)
  File "/home/user/anaconda3/lib/python3.9/site-packages/eventlet/patcher.py", line 132, in import_patched
    return inject(
  File "/home/user/anaconda3/lib/python3.9/site-packages/eventlet/patcher.py", line 109, in inject
    module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
  File "/home/user/anaconda3/lib/python3.9/site-packages/dns/asyncquery.py", line 34, in <module>
    from dns.query import _compute_times, _matches_destination, BadResponse, ssl, \
  File "/home/user/anaconda3/lib/python3.9/site-packages/dns/query.py", line 52, in <module>
    import httpx
  File "/home/user/anaconda3/lib/python3.9/site-packages/httpx/__init__.py", line 2, in <module>
    from ._api import delete, get, head, options, patch, post, put, request, stream
  File "/home/user/anaconda3/lib/python3.9/site-packages/httpx/_api.py", line 4, in <module>
    from ._client import Client
  File "/home/user/anaconda3/lib/python3.9/site-packages/httpx/_client.py", line 30, in <module>
    from ._transports.default import AsyncHTTPTransport, HTTPTransport
  File "/home/user/anaconda3/lib/python3.9/site-packages/httpx/_transports/default.py", line 30, in <module>
    import httpcore
  File "/home/user/anaconda3/lib/python3.9/site-packages/httpcore/__init__.py", line 1, in <module>
    from ._api import request, stream
  File "/home/user/anaconda3/lib/python3.9/site-packages/httpcore/_api.py", line 5, in <module>
    from ._sync.connection_pool import ConnectionPool
  File "/home/user/anaconda3/lib/python3.9/site-packages/httpcore/_sync/__init__.py", line 1, in <module>
    from .connection import HTTPConnection
  File "/home/user/anaconda3/lib/python3.9/site-packages/httpcore/_sync/connection.py", line 12, in <module>
    from .._synchronization import Lock
  File "/home/user/anaconda3/lib/python3.9/site-packages/httpcore/_synchronization.py", line 13, in <module>
    import trio
  File "/home/user/anaconda3/lib/python3.9/site-packages/trio/__init__.py", line 18, in <module>
    from ._core import (
  File "/home/user/anaconda3/lib/python3.9/site-packages/trio/_core/__init__.py", line 27, in <module>
    from ._run import (
  File "/home/user/anaconda3/lib/python3.9/site-packages/trio/_core/_run.py", line 2452, in <module>
    from ._io_epoll import EpollIOManager as TheIOManager
  File "/home/user/anaconda3/lib/python3.9/site-packages/trio/_core/_io_epoll.py", line 188, in <module>
    class EpollIOManager:
  File "/home/user/anaconda3/lib/python3.9/site-packages/trio/_core/_io_epoll.py", line 189, in EpollIOManager
    _epoll = attr.ib(factory=select.epoll)
AttributeError: module 'eventlet.green.select' has no attribute 'epoll'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/user/Developer/_experiments/agents/examples/Single_Agent/gradio_backend.py", line 7, in <module>
    from agents.SOP import SOP
  File "/home/user/Developer/_experiments/agents/src/agents/__init__.py", line 2, in <module>
    from .SOP import *
  File "/home/user/Developer/_experiments/agents/src/agents/SOP.py", line 18, in <module>
    from LLM.base_LLM import *
  File "/home/user/Developer/_experiments/agents/examples/../src/agents/LLM/base_LLM.py", line 6, in <module>
    from utils import save_logs
  File "/home/user/Developer/_experiments/agents/examples/../src/agents/utils.py", line 25, in <module>
    from text2vec import semantic_search
  File "/home/user/anaconda3/lib/python3.9/site-packages/text2vec/__init__.py", line 8, in <module>
    from text2vec.bertmatching_model import BertMatchModel
  File "/home/user/anaconda3/lib/python3.9/site-packages/text2vec/bertmatching_model.py", line 16, in <module>
    from transformers import BertForSequenceClassification, BertTokenizer
  File "<frozen importlib._bootstrap>", line 1055, in _handle_fromlist
  File "/home/user/anaconda3/lib/python3.9/site-packages/transformers/utils/import_utils.py", line 1121, in __getattr__
    value = getattr(module, name)
  File "/home/user/anaconda3/lib/python3.9/site-packages/transformers/utils/import_utils.py", line 1120, in __getattr__
    module = self._get_module(self._class_to_module[name])
  File "/home/user/anaconda3/lib/python3.9/site-packages/transformers/utils/import_utils.py", line 1132, in _get_module
    raise RuntimeError(
RuntimeError: Failed to import transformers.models.bert.modeling_bert because of the following error (look up to see its traceback):
module 'eventlet.green.select' has no attribute 'epoll'

Could solve this by setting EVENTLET_NO_GREENDNS to yes like so:

EVENTLET_NO_GREENDNS="yes" python Single_Agent/run_gradio.py --agent Single_Agent/shopping_assistant/config.json

There is an open issue in the eventlet issue tracker:

Workaround above led to TypeError: issubclass() arg 1 must be a class in langchain (see #95)