Ошибка в строке кода asyncio.run(main()) и ещё много где

Я пытаюсь запустить код (Чат бот Aiogram3) который написан с видео обучения. Не могу понять почему не работает. python version 3.13.1

В файле config.py:

SQLALCHEMY_URL = 'sqlite+aiosqlite:///db.sqlite3'

В файле models.py

from sqlalchemy import BigInteger, ForeignKey
from sqlalchemy.orm import relationship, Mapped, mapped_column, DeclarativeBase, sessionmaker
from sqlalchemy.ext.asyncio import AsyncAttrs, async_sessionmaker, create_async_engine

from config import SQLALCHEMY_URL

engine = create_async_engine(SQLALCHEMY_URL, echo=True)

async_session = async_sessionmaker(engine)


class Base(AsyncAttrs, DeclarativeBase):
    pass


class User(Base):
    __tablename__ = 'users'

    id: Mapped[int] = mapped_column(primary_key=True)
    tg_id = mapped_column(BigInteger)


class Category(Base):
    __tablename__ = 'categories'

    id: Mapped[int] = mapped_column(primary_key=True)
    name: Mapped[str] = mapped_column()

    products = relationship('Product', back_populates='categories')


class Product(Base):
    __tablename__ = 'products'

    id: Mapped[int] = mapped_column(primary_key=True)
    name: Mapped[str] = mapped_column()
    description: Mapped[str] = mapped_column()
    price: Mapped[int] = mapped_column()
    category_id: Mapped[int] = mapped_column(ForeignKey('categories.id'))

    category = relationship('Category', back_populates='products')


async def async_main():
    async with engine.begin() as conn:
        await conn.run_sync(Base.metadata.create_all)

Логи:

  File "C:\io3\run.py", line 23, in <module>
    asyncio.run(main())
    ~~~~~~~~~~~^^^^^^^^
  File "C:\Program Files\Python313\Lib\asyncio\runners.py", line 194, in run
    return runner.run(main)
           ~~~~~~~~~~^^^^^^
  File "C:\Program Files\Python313\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "C:\Program Files\Python313\Lib\asyncio\base_events.py", line 720, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "C:\io3\run.py", line 13, in main
    await async_main()
  File "C:\io3\app\database\models.py", line 45, in async_main
    async with engine.begin() as connection:
               ~~~~~~~~~~~~^^
  File "C:\Program Files\Python313\Lib\contextlib.py", line 214, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\io3\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\engine.py", line 1063, in begin
    async with conn:
               ^^^^
  File "C:\io3\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\base.py", line 121, in __aenter__
    return await self.start(is_ctxmanager=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\io3\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\engine.py", line 273, in start
    await greenlet_spawn(self.sync_engine.connect)
          ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\io3\.venv\Lib\site-packages\sqlalchemy\util\concurrency.py", line 99, in greenlet_spawn
    _not_implemented()
    ~~~~~~~~~~~~~~~~^^
  File "C:\io3\.venv\Lib\site-packages\sqlalchemy\util\concurrency.py", line 79, in _not_implemented
    raise ValueError(
    ...<4 lines>...
    )
ValueError: the greenlet library is required to use this function. No module named 'greenlet' ```

Ответы (0 шт):