SQLAlchemy.orm has no attribute 'DeclarativeBase'
mubix opened this issue · comments
Using commit (latest?) : 312a55c
When trying to use RoadRecon w/ Python 3.9 on Debian 11
Might be similar issue to #49
Traceback (most recent call last):
File "/usr/local/bin/roadrecon", line 33, in <module>
sys.exit(load_entry_point('roadrecon==1.1.3', 'console_scripts', 'roadrecon')())
File "/usr/local/lib/python3.9/dist-packages/roadrecon-1.1.3-py3.9.egg/roadtools/roadrecon/main.py", line 86, in main
plugin_module = importlib.import_module('roadtools.roadrecon.plugins.{}'.format(plugin))
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/usr/local/lib/python3.9/dist-packages/roadrecon-1.1.3-py3.9.egg/roadtools/roadrecon/plugins/xlsexport.py", line 43, in <module>
from roadtools.roadrecon.server import (
File "/usr/local/lib/python3.9/dist-packages/roadrecon-1.1.3-py3.9.egg/roadtools/roadrecon/server.py", line 2, in <module>
from flask_sqlalchemy import SQLAlchemy
File "/usr/local/lib/python3.9/dist-packages/flask_sqlalchemy-3.1.1-py3.9.egg/flask_sqlalchemy/__init__.py", line 5, in <module>
from .extension import SQLAlchemy
File "/usr/local/lib/python3.9/dist-packages/flask_sqlalchemy-3.1.1-py3.9.egg/flask_sqlalchemy/extension.py", line 40, in <module>
t.Type[sa_orm.DeclarativeBase],
AttributeError: module 'sqlalchemy.orm' has no attribute 'DeclarativeBase'
Installing flask-sqlalchemy
manually solved it for some reason:
pip3 install flask-sqlalchemy
I've pushed some updates to the minimum requirements which should prevent this. As you said, cause was likely some incompatible modules being installed.