OpenHands icon indicating copy to clipboard operation
OpenHands copied to clipboard

ModuleNotFoundError: No module named 'typing_extensions'

Open emkaminsk opened this issue 1 year ago • 5 comments

Describe the bug I run the project on WSL Ubuntu (Windows 11). I get to a missing module error. Steps to Reproduce

  1. Install according to the instructions (with pipenv under python 3.11)
  2. When trying to start uvicorn I get this error:

(OpenDevin) marcin@MKLaptop:~/gitrepos/OpenDevin$ uvicorn opendevin.server.listen:app --port 3000


Traceback (most recent call last):
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/bin/uvicorn", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/uvicorn/main.py", line 409, in main
    run(
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/uvicorn/main.py", line 575, in run
    server.run()
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/uvicorn/server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/uvicorn/server.py", line 69, in serve
    await self._serve(sockets)
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/uvicorn/server.py", line 76, in _serve
    config.load()
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/uvicorn/config.py", line 433, in load
    self.loaded_app = import_from_string(self.app)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/uvicorn/importer.py", line 22, in import_from_string
    raise exc from None
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/uvicorn/importer.py", line 19, in import_from_string
    module = importlib.import_module(module_str)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/marcin/gitrepos/OpenDevin/opendevin/server/listen.py", line 1, in <module>
    from opendevin.server.session import Session
  File "/home/marcin/gitrepos/OpenDevin/opendevin/server/session.py", line 5, in <module>
    from fastapi import WebSocketDisconnect
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/fastapi/__init__.py", line 7, in <module>
    from .applications import FastAPI as FastAPI
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/fastapi/applications.py", line 16, in <module>
    from fastapi import routing
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/fastapi/routing.py", line 22, in <module>
    from fastapi import params
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/fastapi/params.py", line 5, in <module>
    from fastapi.openapi.models import Example
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/fastapi/openapi/models.py", line 4, in <module>
    from fastapi._compat import (
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/fastapi/_compat.py", line 20, in <module>
    from fastapi.exceptions import RequestErrorModel
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/fastapi/exceptions.py", line 3, in <module>
    from pydantic import BaseModel, create_model
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/pydantic/__init__.py", line 368, in <module>
    _getattr_migration = getattr_migration(__name__)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/pydantic/_migration.py", line 260, in getattr_migration
    from .errors import PydanticImportError
  File "/home/marcin/.local/share/virtualenvs/OpenDevin-EyFo6ESF/lib/python3.11/site-packages/pydantic/errors.py", line 6, in <module>
    from typing_extensions import Literal, Self
ModuleNotFoundError: No module named 'typing_extensions'

Expected behavior Uvicorn should start. Actual behavior Getting the error. Additional context It worked yesterday, I believe with commit 2a959a199b9f31b249fc0d590df614ba0eb84b06 it was fine.

emkaminsk avatar Mar 31 '24 12:03 emkaminsk

Does pip install typing-extensions fix the problem? We might have missed it in the Pipfile

rbren avatar Mar 31 '24 14:03 rbren

@emkaminsk did you see any package installs being skipped during pipenv install? Think this cold be related to #469

goudbor avatar Apr 01 '24 09:04 goudbor

@emkaminsk did you see any package installs being skipped during pipenv install? Think this cold be related to #469

Hard to say - pipenv install drops too much logs.

emkaminsk avatar Apr 01 '24 10:04 emkaminsk

Agree--remove the -v. Not sure why we put it there

rbren avatar Apr 01 '24 14:04 rbren

When I remove -v I get no missing dependency message. Anyway I sort of upgraded the installation procedure and I run pipenv run uvicorn opendevin.server.listen:app --port 3000. This makes sure that the uvicorn runs from inside the pipenv environment (which is actually a venv environment). Now the project starts up every time.

emkaminsk avatar Apr 01 '24 19:04 emkaminsk

Thanks for reporting back!

rbren avatar Apr 02 '24 02:04 rbren