MetaData.__init__()在使用sqlite时获得意外的关键字参数'bind'

vq8itlhq  于 2023-04-21  发布在  SQLite
关注(0)|答案(1)|浏览(784)

我对sqlite很陌生,我使用macbookm1,我尝试使用jupyternotebook来做sql,这是我的代码

%load_ext sql

import csv, sqlite3

con = sqlite3.connect("socioeconomic.db")
cur = con.cursor()

一切都很好,直到这一点,但当我连接到sqlite

%sql sqlite:///socioeconomic.db

有这样的错误

MetaData.__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([])

你有什么建议吗?
我试图使用其他笔记本电脑,但windows,和相同的代码工程,但在mac是不

fcwjkofz

fcwjkofz1#

看看this guide!基本上有两种方法可以从Jupyter笔记本连接到SQLite本地数据库。我不认为这与你的Mac版本有关,因为我有M2,它运行良好。
检查你在本地是否有.db文件。另外,检查相同的SQLAlchemy版本是否匹配。我相信pip install sqlalchemy==1.4.4应该可以工作。迁移到Jupysql的另一个原因是它支持最新的SQLAlchemy版本。
以下是通过Jupysql运行它的两种方法:
1.您可以将现有连接传递到%sql,如下所示:

some_engine = create_engine("sqlite:///some.db")
%sql some_engine

1.您可以直接连接到它:

%sql sqlite:///foo.db

对于这两个选项,您都需要设置正确的包并通过%load_ext sql导入它

相关问题