Databricks初始化脚本执行成功但OpenAI版本未更新的问题求助
Databricks集群中OpenAI版本升级失败及报错问题处理
问题背景
重启Databricks集群后,执行OpenAI客户端初始化代码时触发报错:
from openai import OpenAI client = OpenAI( organization=openai_organization, api_key=openai_key )
报错信息:
TypeError: init() got an unexpected keyword argument 'proxies'
已知该问题可通过升级OpenAI版本解决,但更新初始化脚本并重启集群后,OpenAI版本仍停留在1.42.0,尽管Databricks提示脚本执行成功。
初始化脚本内容如下:
#!/bin/bash echo "Starting library installation..." # Upgrade pip to the latest version pip install --upgrade pip # Remove any existing installations of openai to avoid conflicts pip uninstall -y openai # Force reinstall openai and all required packages pip install --no-cache-dir --force-reinstall \ openai==1.55.3 \ df2gspread==1.0.4 \ dropbox==11.21.0 \ google-api-python-client==1.6.7 \ google-auth==2.3.0 \ google-auth-oauthlib==0.4.6 \ gspread==4.0.1 \ pandas==1.3.3 \ paramiko==2.8.0 \ requests==2.26.0 \ requests-oauthlib==1.3.0 \ timedelta==2020.12.3 \ networkx==2.7 \ openpyxl==3.1.2 \ spacy==3.8.0 \ transformers==4.45.1 \ torch==2.4.1 \ db-dtypes==1.3.0 \ google-cloud-bigquery==1.15.5 \ google-auth==2.35.0 # Install specific spaCy model pip install --no-cache-dir --force-reinstall \ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.5.0/en_core_web_sm-3.5.0.tar.gz echo "Library installation completed."
问题原因
- pip路径冲突:Databricks集群默认Python环境的pip路径,与脚本中调用的pip可能不一致,导致安装的包被放到了非集群运行环境的路径,代码实际仍调用旧版本。
- 依赖重复冲突:脚本中同时指定了
google-auth==2.3.0和google-auth==2.35.0,重复的依赖会打乱pip安装逻辑,可能中断或跳过OpenAI等包的安装。 - 集群库优先级:如果通过Databricks UI预先给集群安装了OpenAI库,其优先级高于初始化脚本安装的版本,重启后仍会加载旧版本。
解决方法
1. 修复脚本中的依赖重复问题
删除重复的google-auth==2.3.0条目,保留最新版本google-auth==2.35.0,修改后的安装命令片段如下:
pip install --no-cache-dir --force-reinstall \ openai==1.55.3 \ df2gspread==1.0.4 \ dropbox==11.21.0 \ google-api-python-client==1.6.7 \ google-auth-oauthlib==0.4.6 \ gspread==4.0.1 \ pandas==1.3.3 \ paramiko==2.8.0 \ requests==2.26.0 \ requests-oauthlib==1.3.0 \ timedelta==2020.12.3 \ networkx==2.7 \ openpyxl==3.1.2 \ spacy==3.8.0 \ transformers==4.45.1 \ torch==2.4.1 \ db-dtypes==1.3.0 \ google-cloud-bigquery==1.15.5 \ google-auth==2.35.0
2. 指定集群Python环境的pip路径
在脚本中明确使用Databricks集群的pip路径,避免环境冲突。以Databricks Runtime 13.x及以上版本为例,替换所有pip调用为/databricks/python/bin/pip:
# 替换所有pip命令为指定路径 /databricks/python/bin/pip install --upgrade pip /databricks/python/bin/pip uninstall -y openai /databricks/python/bin/pip install --no-cache-dir --force-reinstall \ # 依赖包列表...
3. 移除集群UI预安装的OpenAI库
- 进入Databricks集群详情页,切换到Libraries标签
- 找到已安装的OpenAI库,点击Uninstall完成卸载
- 重启集群,确保初始化脚本安装的版本生效
4. 验证安装结果
集群重启后,在Notebook中执行以下代码确认OpenAI版本:
import openai print(openai.__version__)
若输出为1.55.3,说明升级成功,重新运行原初始化代码即可解决proxies参数报错问题。
内容的提问来源于stack exchange,提问作者Riley Cohen
相关产品推荐
相关产品推荐

