dropbox / sqlalchemy-stubs

Mypy plugin and stubs for SQLAlchemy
Apache License 2.0
570 stars 101 forks source link

Can't find __enter__ and __exit__ methods for sqlalchemy.orm.Session #228

Open eldardzhorobekov opened 2 years ago

eldardzhorobekov commented 2 years ago

Hi. I'm getting this error when trying to use sqlalchemy.orm.Session as a context manager.

My code: with sa.orm.Session(some_app) as session:

Errors: error: "Session" has no attribute "enter"; maybe "iter"? error: "Session" has no attribute "exit"

Package versions: SQLAlchemy=1.4.23 sqlalchemy-stubs=0.4

P.S. This is the first time I'm writing an issue. If you need any clarification or suggestions, please, feel free to ask :)

SamJoan commented 2 years ago

I also have this issue. It occurs when using the session with a with block as per the documentation here:

https://docs.sqlalchemy.org/en/14/orm/session_basics.html#using-a-sessionmaker

cli/destroy.py:24: error: "Session" has no attribute "enter"; maybe "iter"? cli/destroy.py:24: error: "Session" has no attribute "exit"

However pydoc3 shows it does have a enter method, and code using it works.

pydoc3 sqlalchemy.orm.session.Session