Python version < 3.11.3: ModuleNotFoundError: No module named 'async_timeout' #2343

Closed
opened 2025-11-11 15:05:24 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @wirthual on GitHub (Oct 10, 2024).

Bug Report

I searched the issues for keyword async_timeout

Installation Method

Pip

Environment

  • Open WebUI Version:
    Name: open-webui
    Version: 0.3.32

  • Operating System: Ubuntu 22.04 Python 3.11.2

Confirmation:

  • I have read and followed all the instructions provided in the README.md.
  • I am on the latest version of both Open WebUI and Ollama.
  • I have provided the exact steps to reproduce the bug in the "Steps to Reproduce" section below.

Expected Behavior:

open-webui is starting

Actual Behavior:

ModuleNotFoundError: No module named 'async_timeout'

Description

Missing dependency

Bug Summary:
open-webui does not start

Reproduction Details

Steps to Reproduce:

python3.11 -m venv .venv
source .venv/bin/activate
pip3 install open-webui
open-webui serve

Logs and Screenshots

│ /asyncio/connection.py:37 in <module>                                        │
│                                                                              │
│     34 if sys.version_info >= (3, 11, 3):                                    │
│     35 │   from asyncio import timeout as async_timeout                      │
│     36 else:                                                                 │
│ ❱   37 │   from async_timeout import timeout as async_timeout                │
│     38                                                                       │
│     39 from redis.asyncio.retry import Retry                                 │
│     40 from redis.backoff import NoBackoff                                   │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │  asyncio = <module 'asyncio' from                                        │ │
│ │            '/usr/lib/python3.11/asyncio/__init__.py'>                    │ │
│ │ Callable = typing.Callable                                               │ │
│ │     copy = <module 'copy' from '/usr/lib/python3.11/copy.py'>            │ │
│ │     enum = <module 'enum' from '/usr/lib/python3.11/enum.py'>            │ │
│ │  inspect = <module 'inspect' from '/usr/lib/python3.11/inspect.py'>      │ │
│ │ Iterable = typing.Iterable                                               │ │
│ │     List = typing.List                                                   │ │
│ │  Mapping = typing.Mapping                                                │ │
│ │ Optional = typing.Optional                                               │ │
│ │      Set = typing.Set                                                    │ │
│ │   socket = <module 'socket' from '/usr/lib/python3.11/socket.py'>        │ │
│ │      ssl = <module 'ssl' from '/usr/lib/python3.11/ssl.py'>              │ │
│ │      sys = <module 'sys' (built-in)>                                     │ │
│ │    Tuple = typing.Tuple                                                  │ │
│ │     Type = typing.Type                                                   │ │
│ │    Union = typing.Union                                                  │ │
│ │ warnings = <module 'warnings' from '/usr/lib/python3.11/warnings.py'>    │ │
│ │  weakref = <module 'weakref' from '/usr/lib/python3.11/weakref.py'>      │ │
│ ╰────────────────���─────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────╯
ModuleNotFoundError: No module named 'async_timeout'

Additional Information

To overcome the problem, a simple
pip3 install async_timeout fixes the issue

It seems this only happens for Python < 3.11.3. So a possible fix is to set the min required python version to 3.11.3 or add the package in the pyproject.toml>= 3.11

Originally created by @wirthual on GitHub (Oct 10, 2024). # Bug Report I searched the issues for keyword `async_timeout` ## Installation Method Pip ## Environment - **Open WebUI Version:** Name: open-webui Version: 0.3.32 - **Operating System:** Ubuntu 22.04 Python 3.11.2 **Confirmation:** - [x] I have read and followed all the instructions provided in the README.md. - [x] I am on the latest version of both Open WebUI and Ollama. - [x] I have provided the exact steps to reproduce the bug in the "Steps to Reproduce" section below. ## Expected Behavior: open-webui is starting ## Actual Behavior: `ModuleNotFoundError: No module named 'async_timeout'` ## Description Missing dependency **Bug Summary:** open-webui does not start ## Reproduction Details **Steps to Reproduce:** ```bash python3.11 -m venv .venv source .venv/bin/activate pip3 install open-webui open-webui serve ``` ## Logs and Screenshots ``` │ /asyncio/connection.py:37 in <module> │ │ │ │ 34 if sys.version_info >= (3, 11, 3): │ │ 35 │ from asyncio import timeout as async_timeout │ │ 36 else: │ │ ❱ 37 │ from async_timeout import timeout as async_timeout │ │ 38 │ │ 39 from redis.asyncio.retry import Retry │ │ 40 from redis.backoff import NoBackoff │ │ │ │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │ │ │ asyncio = <module 'asyncio' from │ │ │ │ '/usr/lib/python3.11/asyncio/__init__.py'> │ │ │ │ Callable = typing.Callable │ │ │ │ copy = <module 'copy' from '/usr/lib/python3.11/copy.py'> │ │ │ │ enum = <module 'enum' from '/usr/lib/python3.11/enum.py'> │ │ │ │ inspect = <module 'inspect' from '/usr/lib/python3.11/inspect.py'> │ │ │ │ Iterable = typing.Iterable │ │ │ │ List = typing.List │ │ │ │ Mapping = typing.Mapping │ │ │ │ Optional = typing.Optional │ │ │ │ Set = typing.Set │ │ │ │ socket = <module 'socket' from '/usr/lib/python3.11/socket.py'> │ │ │ │ ssl = <module 'ssl' from '/usr/lib/python3.11/ssl.py'> │ │ │ │ sys = <module 'sys' (built-in)> │ │ │ │ Tuple = typing.Tuple │ │ │ │ Type = typing.Type │ │ │ │ Union = typing.Union │ │ │ │ warnings = <module 'warnings' from '/usr/lib/python3.11/warnings.py'> │ │ │ │ weakref = <module 'weakref' from '/usr/lib/python3.11/weakref.py'> │ │ │ ╰────────────────���─────────────────────────────────────────────────────────╯ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ModuleNotFoundError: No module named 'async_timeout' ``` ## Additional Information To overcome the problem, a simple `pip3 install async_timeout` fixes the issue It seems this only happens for Python < 3.11.3. So a possible fix is to set the min required python version to 3.11.3 or add the package in the pyproject.toml>= 3.11
Author
Owner

@tjbck commented on GitHub (Oct 12, 2024):

Fixed on dev!

@tjbck commented on GitHub (Oct 12, 2024): Fixed on dev!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#2343