fix(deps): явно ставить greenlet в dev-окружении через sqlalchemy[asyncio]
SQLAlchemy не объявляет greenlet без extra asyncio. На arm64 (macOS) и на Python >= 3.13 greenlet не ставится, и async-движок падает с "the greenlet library is required". Тест фиксирует наличие greenlet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
2a287480b6
commit
b0dcc0b0f5
@ -3,7 +3,7 @@ uvicorn[standard]==0.30.1
|
||||
pydantic==2.11.7
|
||||
pydantic[email]
|
||||
pydantic-settings==2.10.1
|
||||
sqlalchemy>=2.0.32,<2.1
|
||||
sqlalchemy[asyncio]>=2.0.32,<2.1
|
||||
python-jose[cryptography]==3.3.0
|
||||
argon2-cffi==23.1.0
|
||||
python-multipart==0.0.9
|
||||
|
||||
11
api/tests/unit/test_runtime_deps.py
Normal file
11
api/tests/unit/test_runtime_deps.py
Normal file
@ -0,0 +1,11 @@
|
||||
import sqlalchemy.util.concurrency as concurrency
|
||||
|
||||
|
||||
def test_greenlet_is_installed_for_async_sqlalchemy():
|
||||
# Async engine (create_async_engine + run_sync в alembic/env.py) требует greenlet.
|
||||
# SQLAlchemy не ставит его сам на arm64 и на Python >= 3.13, поэтому зависимость
|
||||
# объявлена явно через extra sqlalchemy[asyncio] в requirements-dev.txt.
|
||||
assert concurrency.have_greenlet, (
|
||||
"greenlet не установлен: async-движок SQLAlchemy не будет работать. "
|
||||
"Установите зависимости через api/requirements-dev.txt (extra sqlalchemy[asyncio])."
|
||||
)
|
||||
Loading…
x
Reference in New Issue
Block a user