macOS运行Python脚本遇openai.openai_object模块缺失错误如何解决?
解决ModuleNotFoundError: No module named 'openai.openai_object'问题
原因分析
OpenAI Python SDK在v1.0+版本中重构了模块结构,openai.openai_object这个旧模块被移除,替换为openai.types.OpenAIObject或基于Pydantic的类型定义。你当前使用的llama_index版本未适配OpenAI v1.x的API变更,导致依赖的litellm_utils.py尝试导入已不存在的模块。
解决方案
方案1:降级OpenAI到兼容版本
若暂时不想升级llama_index,可将OpenAI SDK降级到v0.x系列的稳定版本(如v0.28.1):
pip install openai==0.28.1
执行完成后重启Python环境,再运行脚本即可。
方案2:升级llama_index到适配OpenAI v1.x的版本
安装适配OpenAI v1.x的最新版llama_index:
pip install --upgrade llama-index
升级后,其依赖的litellm_utils.py会更新导入逻辑,适配新的OpenAI模块结构。
方案3:手动修改litellm_utils.py文件(临时应急)
如果前两种方案无法立即实施,可临时修改报错文件:
- 找到虚拟环境中该文件的路径,示例:
venv/lib/python3.x/site-packages/llama_index/utils/litellm_utils.py - 打开文件,找到导入
openai.openai_object的代码行,替换为:
from openai.types import OpenAIObject as openai_object
注意:手动修改第三方库文件是临时方案,后续升级库时会被覆盖,优先推荐前两种方案。
内容的提问来源于stack exchange,提问作者Raymond
相关产品推荐
相关产品推荐

