Python无法连接Looker:looker_sdk导入client模块报错求助
问题原因:Looker SDK版本差异导致的模块结构变化
这明显是Looker SDK版本更新后模块结构重构带来的问题——旧版本里client是顶层导出的模块,但新版本(比如v4.x及以后)已经调整了结构,不再从looker_sdk直接导出client了。不过models模块还是保留在顶层,所以你能正常导入它,同时新版本提供了initXX()系列方法(比如你能用的init31())来替代原来的client.setup()。
解决方案:适配新版本的初始化方式
既然你已经能调用looker_sdk.init31(),那直接用这个方法替代原来的client.setup()就可以,它同样支持读取looker.ini配置文件。修改后的代码示例如下:
import looker_sdk from looker_sdk import models def test_looker(): # 用init31()初始化,指定配置文件路径 sdk = looker_sdk.init31(config_file="./looker.ini") # 可以加个简单测试验证连接是否成功 try: current_user = sdk.me() print(f"成功连接Looker!当前登录用户:{current_user.display_name}") except Exception as e: print(f"连接出错:{str(e)}") if __name__ == "__main__": test_looker()
补充说明
- 你可以执行
pip show looker_sdk命令查看当前安装的SDK版本,确认是不是v4+的新版本。 - 如果非要沿用旧的
client.setup()写法,需要降级到对应的旧版本(比如v2.x系列),执行pip install looker_sdk==2.3.0(具体版本号可按需调整),但更推荐使用新版本的initXX()方法,这是官方现在主推的初始化方式,还能适配不同的Looker API版本(比如init31()对应API 3.1,init40()对应API 4.0)。
内容的提问来源于stack exchange,提问作者Nir99
相关产品推荐
相关产品推荐

