Google Colab中SQL扩展连接PostgreSQL报AttributeError求助
问题详情
之前在2023年7月初前可正常运行的Google Colab代码:
%load_ext SQL !pip install SQLAlchemy==1.4.47 # Restart runtime %sql postgresql://ID:PW@host:5432/db_name
如今执行时报错:
Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/sql/magic.py", line 203, in execute conn.internal_connection.rollback() AttributeError: 'Connection' object has no attribute 'rollback'
当前环境Python版本为3.10.12,此前曾通过降级SQLAlchemy解决过类似问题,询问是否有其他用户遇到同类问题。
相关情况及解决方案
- 已有大量用户在Google Colab的Python 3.10+环境下遇到完全相同的报错,问题核心是
ipython-sql(即%load_ext SQL依赖的库)与指定版本的SQLAlchemy存在兼容性冲突。 - 除了单独调整SQLAlchemy版本,更可靠的解决方式是同时锁定兼容的
ipython-sql版本:- 替换安装命令为:
!pip install SQLAlchemy==1.4.47 ipython-sql==0.4.1 - 重启Colab运行时后再执行数据库连接命令
- 替换安装命令为:
- 另外也有用户通过升级
ipython-sql至0.5.0以上版本,搭配SQLAlchemy 1.4.49+版本解决了该问题,可根据自身需求测试。
内容的提问来源于stack exchange,提问作者kee
相关产品推荐
相关产品推荐

