alexmojaki / birdseye

Graphical Python debugger which lets you easily view the values of all evaluated expressions
https://birdseye.readthedocs.io
MIT License
1.65k stars 72 forks source link

sqlalchemy dependency should be pinned to < 1.4 #89

Closed mahmoudimus closed 3 years ago

mahmoudimus commented 3 years ago

First of all, thank you for the useful library! Let's get to business:

Using python 3.8.5, when installing birdseye==0.8.4, all succeeds. Given the following test class:

class Foo(object):
    @eye
    def bar(self, baz):
        x = range(5)
        print(baz)

if __name__ == '__main__':
    Foo().bar(123)

When running this, because the sqlalchemy dependency is not pinned to be below <1.4, an exception is thrown spawning from db.py:194 with:

'Engine' object has no attribute 'exec_driver_sql'

When debugging the problem, I did:

In [1]: import sqlalchemy

In [2]: sqlalchemy.__version__
Out[2]: '1.4.2'

I know SQLAlchemy just released a big update with v1.4.0, so I tried:

❯❯❯ pyenv exec pip install 'sqlalchemy<1.4'
Collecting sqlalchemy<1.4
  Downloading SQLAlchemy-1.3.23-cp38-cp38-macosx_10_14_x86_64.whl (1.2 MB)
     |████████████████████████████████| 1.2 MB 4.9 MB/s
Installing collected packages: sqlalchemy
  Attempting uninstall: sqlalchemy
    Found existing installation: SQLAlchemy 1.4.2
    Uninstalling SQLAlchemy-1.4.2:
      Successfully uninstalled SQLAlchemy-1.4.2
Successfully installed sqlalchemy-1.3.23

and that fixed the problem.

alexmojaki commented 3 years ago

Thanks! It's already a top priority for me to fix birdseye so that it works with sqlalchemy 1.4.

mahmoudimus commented 3 years ago

No problem, just wanted to report it here in case someone else runs into and it confuses them. You can close this issue if you want.