GitHub CI出现AttributeError: sqlalchemy无__all__属性问题排查
GitHub CI出现AttributeError: module 'sqlalchemy' has no attribute 'all'问题排查与解决
错误日志
File "/home/runner/.local/lib/python3.8/site-packages/fb4/login_bp.py", line 12, in <module> from fb4.sqldb import db File "/home/runner/.local/lib/python3.8/site-packages/fb4/sqldb.py", line 8, in <module> db = SQLAlchemy() File "/home/runner/.local/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 758, in __init__ _include_sqlalchemy(self, query_class) File "/home/runner/.local/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 112, in _include_sqlalchemy for key in module.__all__: AttributeError: module 'sqlalchemy' has no attribute '__all__' CRITICAL: Exiting due to uncaught exception <class 'ImportError'>
问题背景
- 未提交可能引发该问题的核心代码,本地测试及Jenkins CI均正常运行
- 已将Python版本固定为3.8(此前同时测试3.9/3.10/3.11)
- 参考过Python 3.9中posix模块无
__all__属性的同类问题(因缺乏3.9支持导致) - 推测问题出在环境配置、GitHub Actions、Python、pip或测试环境的异常变动上
- 涉及项目:
- pyOnlineSpreadSheetEditing
- pyFlaskBootstrap4
更新内容
按建议操作后,日志显示版本冲突:
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts The conflict is caused by: The user requested Flask~=2.0.2 bootstrap-flask 1.8.0 depends on Flask flask-dropzone 1.6.0 depends on Flask flask-login 0.6.2 depends on Flask>=1.0.4 flask-httpauth 1.0.0 depends on Flask flask-sqlalchemy 3.0.2 depends on Flask>=2.2
发现~=版本符号是笔误,正尝试升级Flask至满足Flask-SQLAlchemy>=3.0.2要求的版本,当前问题已解决,后续若有问题再进一步排查。
内容的提问来源于stack exchange,提问作者Wolfgang Fahl
相关产品推荐
相关产品推荐

