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

使用llama_index时出现ImportError:无法从typing_extensions导入deprecated

问题:导入llama_index的Neo4jPGStore时触发ImportError

环境信息

  • Python版本:3.7.16
  • typing-extensions版本:4.7.1
  • 运行环境:VSCode的Jupyter Notebook

执行代码

from llama_index.graph_stores.neo4j import Neo4jPGStore

graph_store = Neo4jPGStore(
    username=os.getenv("NEO4J_USERNAME"),
    password=os.getenv("NEO4J_PASSWORD"),
    url=os.getenv("NEO4J_URI"),
    refresh_schema=False
)

已尝试重新安装依赖库、切换conda环境,均未解决问题。

错误日志

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
/tmp/ipykernel_17914/1908928590.py in <module>
----> 1 from llama_index.graph_stores.neo4j import Neo4jPGStore
      2 
      3 
      4 graph_store = Neo4jPGStore(
      5   username=os.getenv("NEO4J_USERNAME"),

~/miniconda3/envs/thesis/lib/python3.7/site-packages/llama_index/__init__.py in <module>
     13 # embeddings
     14 from llama_index.embeddings.langchain import LangchainEmbedding
---> 15 from llama_index.embeddings.openai import OpenAIEmbedding
     16 
     17 # structured

~/miniconda3/envs/thesis/lib/python3.7/site-packages/llama_index/embeddings/openai.py in <module>
      4 from typing import Any, List, Optional
      5 
---> 6 import openai
      7 from tenacity import retry, stop_after_attempt, wait_random_exponential
      8 

~/miniconda3/envs/thesis/lib/python3.7/site-packages/openai/__init__.py in <module>
      9 from ._types import NOT_GIVEN, NoneType, NotGiven, Transport, ProxiesTypes
     10 from ._utils import file_from_path
---> 11 from ._client import Client, OpenAI, Stream, Timeout, Transport, AsyncClient, AsyncOpenAI, AsyncStream, RequestOptions
     12 from ._models import BaseModel
     13 from ._version import __title__, __version__

~/miniconda3/envs/thesis/lib/python3.7/site-packages/openai/_client.py in <module>
      9 import httpx
     10 
---> 11 from . import resources, _exceptions
     12 from ._qs import Querystring
     13 from ._types import (

~/miniconda3/envs/thesis/lib/python3.7/site-packages/openai/resources/__init__.py in <module>
      1 # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
      2 
---> 3 from .beta import (
      4     Beta,
      5     AsyncBeta,

~/miniconda3/envs/thesis/lib/python3.7/site-packages/openai/resources/beta/__init__.py in <module>
      1 # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
      2 
---> 3 from .beta import (
      4     Beta,
      5     AsyncBeta,

~/miniconda3/envs/thesis/lib/python3.7/site-packages/openai/resources/beta/beta.py in <module>
      3 from __future__ import annotations
      4 
---> 5 from .threads import (
      6     Threads,
      7     AsyncThreads,

~/miniconda3/envs/thesis/lib/python3.7/site-packages/openai/resources/beta/threads/__init__.py in <module>
      1 # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
      2 
---> 3 from .runs import (
      4     Runs,
      5     AsyncRuns,

~/miniconda3/envs/thesis/lib/python3.7/site-packages/openai/resources/beta/threads/runs/__init__.py in <module>
      1 # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
      2 
---> 3 from .runs import (
      4     Runs,
      5     AsyncRuns,

~/miniconda3/envs/thesis/lib/python3.7/site-packages/openai/resources/beta/threads/runs/runs.py in <module>
     10 import httpx
     11 
---> 12 from ..... import _legacy_response
     13 from .steps import (
     14     Steps,

~/miniconda3/envs/thesis/lib/python3.7/site-packages/openai/_legacy_response.py in <module>
     18     overload,
     19 )
---> 20 from typing_extensions import Awaitable, ParamSpec, override, deprecated, get_origin
     21 
     22 import anyio

ImportError: cannot import name 'deprecated' from 'typing_extensions' (/home/sanjiv/miniconda3/envs/thesis/lib/python3.7/site-packages/typing_extensions.py)

问题原因

错误核心在于:当前安装的openai库版本依赖typing_extensions中的deprecated装饰器,但typing-extensions 4.7.1版本尚未添加该特性(deprecated是在typing-extensions 4.10.0及以上版本才新增的)。同时由于Python 3.7已停止维护,最新版openai库不再兼容Python 3.7,导致版本依赖冲突。

解决方案

方案1:降级openai库到兼容版本

运行以下命令安装兼容Python 3.7和typing-extensions 4.7.1的openai版本:

pip install openai==0.28.1

安装完成后重新运行导入代码即可验证问题是否解决。

方案2:升级Python版本(可选)

若条件允许,将Python版本升级到3.8及以上,即可安装更高版本的typing-extensions(支持deprecated特性),同时兼容最新版openai库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 21:04:55