Pinecone模块报错:'module 'pinecone' has no attribute 'init' 求助
解决Pinecone
AttributeError: module 'pinecone' has no attribute 'init' 问题 问题根源
你遇到的报错是因为Pinecone Client v2.x 和 v1.x 的API完全不兼容,你的代码基于v1.x编写,但当前安装的是v2.x版本,pinecone.init、pinecone.create_index等v1.x方法在v2.x中已被移除。
解决方案
方案一:适配Pinecone Client v2.x API(推荐)
v2.x是官方主推版本,v1.x已停止维护,建议升级代码适配新API:
from pinecone import Pinecone, ServerlessSpec index_name = 'langchain-retrieval-augmentation' # 初始化客户端(替代原pinecone.init) pc = Pinecone(api_key="----------------------------") # 检查并创建索引(v2.x需指定索引规格) if index_name not in pc.list_indexes(): pc.create_index( name=index_name, metric='dotproduct', dimension=1536, # 直接填写text-embedding-ada-002的维度值 spec=ServerlessSpec( cloud='gcp', region='us-west1' ) ) # 连接索引(v2.x整合GRPCIndex到Index类,可通过grpc=True启用GRPC) index = pc.Index(index_name, grpc=True) print(index.describe_index_stats())
关键变化:
- 用
Pinecone类替代全局pinecone.init初始化客户端 - 创建索引需根据索引类型(Serverless/Pod)传入对应的
spec参数 - 原
pinecone.GRPCIndex替换为pc.Index(..., grpc=True) - 原
pinecone.list_indexes()替换为pc.list_indexes()
方案二:降级到Pinecone Client v1.x(临时方案)
如果暂时不想修改代码,可降级到v1.x版本:
pip uninstall -y pinecone-client pip install pinecone-client==1.1.0
降级后原代码即可正常运行,但不推荐长期使用该方案。
额外检查
- 执行
pip show pinecone-client确认当前版本是否符合预期 - 重启Python运行环境,避免缓存的旧模块影响
- 确保安装GRPC依赖时使用的命令正确:
pip install "pinecone-client[grpc]"
内容的提问来源于stack exchange,提问作者Leonard Jin
相关产品推荐
相关产品推荐

