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

如何为Streamlit Secrets指定自定义Toml文件路径?

自定义Streamlit密钥文件路径的方法

Streamlit官方文档未公开直接配置自定义密钥文件路径的选项,但可以通过以下两种方式实现需求:

方法一:通过环境变量指定

设置STREAMLIT_SECRETS_FILE环境变量指向你的自定义密钥文件,启动Streamlit时会自动读取该路径的文件:

单次运行临时生效

在终端中直接拼接环境变量和启动命令:

STREAMLIT_SECRETS_FILE="/some/filepath/secrets.toml" streamlit run your_app.py

永久生效(当前用户会话)

  • Linux/macOS:在~/.bashrc或~/.zshrc(对应你使用的shell)中添加:
    export STREAMLIT_SECRETS_FILE="/some/filepath/secrets.toml"
    
    添加后执行source ~/.bashrc(或对应配置文件)使设置立即生效,后续启动Streamlit都会自动读取该路径的密钥文件。
  • Windows:打开「系统属性」→「高级」→「环境变量」,在用户变量或系统变量中新建条目:
    • 变量名:STREAMLIT_SECRETS_FILE
    • 变量值:C:\some\filepath\secrets.toml
      重启终端后设置生效。

方法二:手动加载密钥到Streamlit

如果不想依赖环境变量,可在代码中手动读取自定义路径的Toml文件,将内容注入st.secrets字典:

  1. 先安装toml库(用于解析Toml文件):
pip install toml
  1. 在Streamlit应用代码开头添加以下逻辑:
import toml
import streamlit as st

# 读取自定义路径的密钥文件
with open("/some/filepath/secrets.toml", "r") as f:
    custom_secrets = toml.load(f)

# 将自定义密钥合并到st.secrets中
st.secrets.update(custom_secrets)

之后即可像使用默认密钥一样,通过st.secrets["KEY_NAME"]访问自定义密钥。

注意:无论哪种方法,都要确保密钥文件的权限设置安全(比如Linux/macOS下设置chmod 600 /some/filepath/secrets.toml),避免敏感信息泄露。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:44:55