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

调用BigQuery对象to_dataframe()时报错secure_channel()存在意外参数default_scopes

问题根因

安装dbt==0.19.0时触发了依赖降级,该版本的dbt强制依赖低版本的grpcio-gcp包,旧版本grpcio-gcp的secure_channel()方法不支持default_scopes参数,而当前环境的google-api-core 1.23.0调用该方法时会默认传入该参数,最终触发类型错误。

解决方案

方案1:快速恢复业务(无需修改依赖)

调用to_dataframe()时主动禁用BigQuery Storage客户端,报错逻辑正是在创建该客户端时触发,禁用后会走默认REST接口拉取数据,小数据量场景下无明显性能差异,修改代码如下:

our_df = query_result.to_dataframe(create_bqstorage_client=False)

方案2:修复依赖兼容性

升级grpcio-gcp到支持default_scopes参数的版本,最低要求为0.2.2,该版本和dbt==0.19.0要求的grpc版本范围完全兼容,不会影响dbt的正常使用:

pip install --upgrade grpcio-gcp>=0.2.2

方案3:降级google-api-core

如果方案2存在其他依赖冲突,可以将google-api-core降级到1.22.0版本,该版本不会向secure_channel()传入default_scopes参数,也可解决问题:

pip install google-api-core==1.22.0

以上方案执行后均可直接运行原有代码验证是否修复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:45:08