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

Amazon Linux 2运行Python Discord EC2控制脚本触发KeyError报错求助

报错原因

你遇到的KeyError: 'SuperSecretSquirrelStuff-key'是因为Python尝试从系统环境变量读取名为SuperSecretSquirrelStuff-key的变量时未找到匹配值导致的。你的代码逻辑是先从config配置文件中读取要获取的环境变量名称,再去系统环境变量中取这个名称对应的Discord机器人密钥,现在环境变量中没有配置该值所以触发报错。

解决方法

以下提供3种适配不同场景的解决方法:

  • 方案1:临时配置环境变量(适合测试验证,重启终端后配置会失效)
    在运行bot.py的终端中,先执行以下命令再启动脚本即可:

    export SuperSecretSquirrelStuff-key="替换为你自己的Discord机器人实际Token"
    python3 bot.py
    

    注意等号两侧不要留空格,Token要加引号避免特殊字符解析错误。

  • 方案2:永久配置环境变量(适合长期稳定运行)
    编辑当前用户的bash配置文件:

    vi ~/.bashrc
    

    在文件末尾追加一行配置:

    export SuperSecretSquirrelStuff-key="替换为你自己的Discord机器人实际Token"
    

    保存退出后执行命令让配置立即生效:

    source ~/.bashrc
    

    后续直接执行python3 bot.py即可启动,不需要再手动配置变量。

  • 方案3:直接修改代码(新手友好,不需要配置环境变量)
    把代码最后一行的client.run(os.environ[config.discord_key])直接修改为:

    client.run("替换为你自己的Discord机器人实际Token")
    

    注意:使用该方案不要把带明文密钥的代码分享或上传到公开代码仓库,避免密钥泄露被滥用。

额外注意事项

如果解决环境变量问题后出现AWS权限相关报错,需要给运行脚本的EC2实例绑定有权限操作目标EC2实例启停、查询状态的IAM角色即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:45:03