我对sqlite非常陌生,我使用macbook m1,我尝试使用jupyter笔记本来做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 中则不行
查看本指南! 基本上有两种方法可以从 Jupyter Notebook 连接到 SQLite 本地数据库。我认为这与你的 Mac 版本无关,因为我有 M2 并且运行良好。
检查本地是否有 .db 文件。另外,检查相同的 sqlalchemy 版本是否匹配。我相信
pip install sqlalchemy==1.4.4
应该有效。迁移到 Jupysql 的另一个原因是它支持最新的 SQLAlchemy 版本。
这里有两种方法可以通过
Jupysql
运行它:
%sql
,如下所示:some_engine = create_engine("sqlite:///some.db")
%sql some_engine
%sql sqlite:///foo.db
对于这两个选项,您都需要设置正确的包并通过
%load_ext sql
导入它
我所做的只是简单地降级SQLalchemy版本。我的是2.0,所以我把它回滚到1.4.39版本。为此,请转到环境选项卡,选择并应用版本 1.4.39。确保重新启动内核。