How to import openai package using jupyter notebook?

题意:如何在 Jupyter Notebook 中导入 openai 包?

问题背景:

I am getting the below error message when importing openai as ai using google jupyter notebook:

当我在 Google Jupyter Notebook 中导入 openai 并将其命名为 ai 时,出现了以下错误消息:

python 复制代码
ImportError                               Traceback (most recent call last)
<ipython-input-9-3f86bb4abbfc> in <module>
----> 1 import openai as ai

   /opt/anaconda3/lib/python3.8/site-packages/openai/__init__.py in <module>
      4 
      5 import os as _os
----> 6 from typing_extensions import override
      7 
      8 from . import types

ImportError: cannot import name 'override' from 'typing_extensions' 
(/opt/anaconda3/lib/python3.8/site-packages/typing_extensions.py)

I have no idea how to fix this. Any ideas?

我不知道该如何解决这个问题。有什么建议吗?

问题解决:

It seems a problem related to versions that seem incompatible.

这似乎是一个与版本不兼容相关的问题。

I tested a Python 3.8 environment and openai==1.6.1 seems to work fine. Try to install the following pinned version.

我测试了一个 Python 3.8 环境,openai==1.6.1 似乎运行良好。尝试安装以下固定版本。

python 复制代码
python -m pip install openai==1.6.1

EDIT: 编辑

pd: typing_extension is well known to cause a lot of dependcy problems, as this one. I suggest you:

附注:typing_extension 很容易引发许多依赖性问题,就像这个问题一样。我建议你:

  • Pin your version in a requirements.txt to ensure your project work as expected. Here are mines from a recent project. If the above suggestion does not work, use this snippet as the requirements.txt.

requirements.txt 文件中固定你的版本,以确保项目按预期工作。以下是我最近一个项目中的版本。如果上述建议不起作用,可以使用这个片段作为 requirements.txt 文件。

python 复制代码
python-dotenv~=1.0.0
azure-core~=1.29.5
azure-identity~=1.15.0
chainlit~=0.7.604
openai~=1.3.5
langchain~=0.0.339
pypdf~=3.17.1
python-docx~=1.1.0
faiss-cpu
tiktoken
pysqlite3-binary
  • It is almost sure that you will face similar issues soon. So, I suggest you to search the Error trace on Google and dig into the forums (Github issues, Stackoverflow, etc) for answers. For example, you could type the following in google:

几乎可以肯定你很快就会遇到类似的问题。因此,我建议你在 Google 上搜索错误跟踪,并在论坛(如 Github 问题、Stack Overflow 等)中寻找答案。例如,你可以在 Google 中输入以下内容:

python 复制代码
ImportError: cannot import name 'override' from 'typing_extensions'

And you would find this Giuthub issue: ImportError: cannot import name 'override' from 'typing_extensions' with openai==1.2.0 · Issue #751 · openai/openai-python · GitHub which could help you clarify what it is happening.

相关推荐
Scott9999HH3 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
迅易科技3 小时前
从场景验证到Agent上线:迅易 × WorkBuddy如何帮助企业建设AI能力?
人工智能·ai·腾讯云
AI云海4 小时前
python 列表、元组、集合和字典
开发语言·python
神奇霸王龙4 小时前
GB/T 46886 闭环屠夫:5 旗舰多模态 LLM 工业质检实测
人工智能·计算机视觉·ai·开源·ai编程·本地部署
二十雨辰4 小时前
[爬虫]-Urllib
爬虫·python
smartfish_liu4 小时前
LLM.deepseek: 2026-7-24工作总结
llm·agent
小林ixn5 小时前
大模型的“高考成绩单”:读懂Benchmark,选对真·生产力模型
人工智能·llm·测试
冬奇Lab5 小时前
AI 评测系列(04):RAG 评测——RAGAS 四指标实战与一个反直觉发现
人工智能·llm·agent
三声三视5 小时前
uni-app 鸿蒙端传参变成 [object Object]?顺着源码追到 ArkTS router 底层才搞明白
人工智能·ai·uni-app·aigc·ai编程·harmonyos
fthux5 小时前
“装闭”,让装修套路“装”不下去
人工智能·ai·开源·github·open source