这个错误是因为 flask_sqlalchemy 与 sqlalchemy 版本不兼容,我这里用的是:
flask==1.1.4
flask-sqlalchemy==2.5.1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "H:\CodeSpace\learn\message-board\app.py", line 21, in <module>
db = SQLAlchemy(app)
File "H:\CodeSpace\learn\hello\.venv\lib\site-packages\flask_sqlalchemy\__init__.py", line 758, in __init__
_include_sqlalchemy(self, query_class)
File "H:\CodeSpace\learn\hello\.venv\lib\site-packages\flask_sqlalchemy\__init__.py", line 112, in _include_sqlalchemy
for key in module.__all__:
File "H:\CodeSpace\learn\hello\.venv\lib\site-packages\sqlalchemy\__init__.py", line 294, in __getattr__
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
AttributeError: module 'sqlalchemy' has no attribute '__all__'
解决办法:
安装旧版的sqlalchemy sqlalchemy = "1.3.24"