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

Python脚本引入GitHub Secrets遇KeyError?求解决方案

解决GitHub Actions中Python无法读取仓库密钥的问题

你的问题根源很简单:Workflow里定义的环境变量名和Python代码里读取的变量名不一致。

具体问题

在你的Workflow配置中,start bot步骤里设置的环境变量叫TOKEN:

env:
  TOKEN: ${{ secrets.SECRET }}

但你的Python代码里却在尝试读取名为SECRET的环境变量:

SECRET = os.environ['SECRET']

两个名字对不上,Python自然找不到对应的变量,就抛出了KeyError。

两种解决办法

选其中一种就行:

办法一:修改Workflow的环境变量名

把Workflow里的TOKEN改成SECRET,和Python代码里的变量名统一:

- name: start bot
  env:
    SECRET: ${{ secrets.SECRET }}  # 这里改成SECRET
  run: python test.py

办法二:修改Python代码的读取变量名

让Python读取Workflow里定义的TOKEN变量:

import os
SECRET = os.environ['TOKEN']  # 这里改成TOKEN
if SECRET == "TrustNo1":
    print("No one can be trusted")
print(SECRET)

额外小建议

为了避免以后因为环境变量不存在导致脚本崩溃,可以用os.getenv()替代直接取os.environ[key],它允许设置默认值:

SECRET = os.getenv('SECRET', '')  # 如果变量不存在,返回空字符串

内容的提问来源于stack exchange,提问作者Morris van den Bergh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:52:55