Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ekiwi111 opened this issue Sep 26, 2023 · 2 comments
Open

Comments

@ekiwi111
Copy link
Contributor

  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'
@ekiwi111
Copy link
Contributor Author

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:

@ekiwi111
Copy link
Contributor Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant