catherinedevlin / ipython-sql

%%sql magic for IPython, hopefully evolving into full SQL client
MIT License
1.79k stars 369 forks source link

In Colab: Connecting fails: "got an unexpected keyword argument 'bind'" #227

Open jsmorph opened 1 year ago

jsmorph commented 1 year ago

Connecting like

%sql mysql+pymysql://{user}:{password}@{host}/shared

now produces:

__init__() got an unexpected keyword argument 'bind'
Connection info needed in SQLAlchemy format, example:
               postgresql://username:password@hostname/dbname
               or an existing connection: dict_keys([])

This error started happening in the last 24 hours.

Ideas?

kpgaffney commented 1 year ago

I'm not sure what's causing this, but it looks like it's related to SQLAlchemy version 2.0.0. As a temporary workaround, I added !pip install SQLAlchemy==1.4.46 before %load_ext sql, which fixed the problem.

jsmorph commented 1 year ago

Thanks very much for the quick fix.

FWIW, I'm now pinning versions like this in Colab:

!pip install SQLAlchemy==1.4.46
!pip install PyMySQL==1.0.2 # or whichever
!pip install ipython-sql==0.4.1
rwarren commented 1 year ago

Same problem here, but when I install SQLAlchemy 1.4.46 it does not help. In my case I'm running a local jupyterlab (version 3.6.1).

image

tjerkw commented 1 year ago

Same issue, pinning sqlAclhemny or ipython-sql does not work.

jsmorph commented 1 year ago

@tjerkw and @rwarren, did you restart the runtime after the pinned pip installs? When I do these installs and then restart the runtime, things work. (Menu: Runtime -> Restart runtime.)

rwarren commented 1 year ago

@jsmorph I thought I had restarted, but apparently not! After a fresh reboot today, this is is working perfectly fine after installing SQLAlchemy==1.4.46. 👍