You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook连接Snowflake遇ImportError,升级依赖失败求助

解决Jupyter Notebook连接Snowflake时的_rfc_1738_quote导入错误

问题重现

尝试从snowflake.sqlalchemy导入URL时触发以下错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-12-3b4f5d455df9> in <module>
      1 from sqlalchemy import create_engine
----> 2 from snowflake.sqlalchemy import URL
      3 import sqlalchemy as db
      4 import pandas as pd
      5 

~\AppData\Local\Continuum\anaconda3\lib\site-packages\snowflake\sqlalchemy\__init__.py in <module>
     56     VARIANT,
     57 )
---> 58 from .util import _url as URL
     59 from .version import VERSION
     60 

~\AppData\Local\Continuum\anaconda3\lib\site-packages\snowflake\sqlalchemy\util.py in <module>
     11 from urllib.parse import quote_plus
     12 
---> 13 from sqlalchemy.engine.url import _rfc_1738_quote
     14 
     15 

ImportError: cannot import name '_rfc_1738_quote'

尝试安装snowflake-sqlalchemy==1.4.3时提示版本不存在:

ERROR: Could not find a version that satisfies the requirement snowflake-sqlalchemy==1.4.3 (from versions: 1.0.7, 1.0.8, 1.0.9, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.9, 1.1.10, 1.1.11, 1.1.12, 1.1.13, 1.1.14, 1.1.15, 1.1.16, 1.1.17, 1.1.18, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3.1, 1.3.2, 1.3.3, 1.3.4)
ERROR: No matching distribution found for snowflake-sqlalchemy==1.4.3

问题原因

这个错误源于SQLAlchemy版本与snowflake-sqlalchemy版本不兼容:

  • _rfc_1738_quote是SQLAlchemy 1.3.x及更早版本中的私有函数,在SQLAlchemy 1.4+中被移除。
  • 旧版本的snowflake-sqlalchemy(如你列出的1.3.4及以下)依赖这个函数,若环境中安装了SQLAlchemy 1.4+,就会触发导入错误。
  • 你尝试安装的snowflake-sqlalchemy==1.4.3并非公开可用版本,因此pip无法找到。

解决方案

方案1:安装兼容的版本组合

卸载现有冲突包,安装SQLAlchemy 1.3.x与snowflake-sqlalchemy 1.3.4的兼容组合:

  1. 卸载现有包:
pip uninstall -y snowflake-sqlalchemy sqlalchemy
  1. 安装指定版本:
pip install sqlalchemy==1.3.24 snowflake-sqlalchemy==1.3.4

方案2:升级到支持高版本SQLAlchemy的snowflake-sqlalchemy

如果需要使用SQLAlchemy 1.4+或2.0,先升级pip,再安装最新版snowflake-sqlalchemy(确保它适配当前SQLAlchemy版本):

  1. 升级pip:
pip install --upgrade pip
  1. 卸载现有包:
pip uninstall -y snowflake-sqlalchemy
  1. 安装最新版snowflake-sqlalchemy:
pip install snowflake-sqlalchemy --upgrade
  1. 验证版本兼容性:安装完成后,运行以下命令确认依赖匹配:
import sqlalchemy
import snowflake.sqlalchemy
print(f"SQLAlchemy版本: {sqlalchemy.__version__}")
print(f"snowflake-sqlalchemy版本: {snowflake.sqlalchemy.VERSION}")

方案3:使用Snowflake官方连接器替代SQLAlchemy(可选)

如果不需要SQLAlchemy,直接使用Snowflake的Python连接器连接:

  1. 安装连接器:
pip install snowflake-connector-python
  1. 连接示例:
import snowflake.connector

conn = snowflake.connector.connect(
    user='你的用户名',
    password='你的密码',
    account='你的账户名',
    warehouse='你的仓库',
    database='你的数据库',
    schema='你的模式'
)

内容的提问来源于stack exchange,提问作者Bhavana Addagulla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:43:12