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

如何通过dbutils.secrets传递凭据安装requirements.txt中的私有包

可行,给你两种不用修改原requirements.txt的解决方案

方案一:通过环境变量替换(需调整requirements里的变量格式)

如果能接受修改requirements.txt里的变量占位符格式(把原文件中的<user>改为${GIT_USERNAME}、$token改为${GIT_TOKEN}),可以按以下步骤操作:

  1. 在Python代码单元中读取密钥并设置环境变量:
import os
# 替换成你的密钥范围和对应密钥名称
os.environ["GIT_USERNAME"] = dbutils.secrets.get("your-secret-scope", "git-username-key")
os.environ["GIT_TOKEN"] = dbutils.secrets.get("your-secret-scope", "git-token-key")
  1. 执行pip安装命令:
%pip install -r /dbfs/requirements.txt

pip会自动识别${变量名}格式的占位符,并用环境变量中的对应值完成替换。

方案二:动态替换requirements内容(完全不改动原文件)

如果完全不想修改原requirements.txt,可借助bash的进程替换功能,在安装时临时替换占位符:

%pip install -r <(sed "s/<user>/$(dbutils.secrets.get('your-secret-scope', 'git-username-key'))/;s/\$token/$(dbutils.secrets.get('your-secret-scope', 'git-token-key'))/" /dbfs/requirements.txt)

这个命令会先通过sed替换掉原文件里的<user>和$token占位符,再把替换后的内容传给pip执行安装,原requirements.txt文件不会被改动。

为什么之前的%env设置没成功?

%env魔法命令设置的环境变量仅在当前notebook的shell会话中生效,但pip的执行上下文可能无法直接继承这些变量;另外如果你的requirements.txt里用的是$token这种格式,pip默认不会将其识别为环境变量(需用${token}格式),这也会导致替换失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 01:03:19