dirkjanm / ROADtools

A collection of Azure AD/Entra tools for offensive and defensive security purposes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.