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

Flask应用通过GitHub集成部署至Heroku出现H10报错问题求助

问题排查与解决方法
  • 导入缺失修复:你的app.py中调用了os.getenv()读取环境变量,但未导入os模块,运行时会直接抛出未定义错误导致应用崩溃。同时你从Flask导入的json模块用于解析接口返回的场景,直接使用标准库json更稳妥,修改导入代码如下:
from flask import Flask, render_template, request
import requests
import os
import json
  • 依赖文件名修正:你的依赖清单文件命名为requierements.txt存在拼写错误,正确命名应为requirements.txt,拼写错误会导致Heroku无法识别并安装项目依赖,包括启动需要的gunicorn,直接触发启动失败。
  • 环境变量配置:你需要在Heroku对应应用的设置页面找到「Config Vars」配置板块,添加键为API_KEY的配置项,值填入你申请的NASA开放平台接口密钥,否则代码读取到的API_KEY为空,请求NASA接口会直接失败。
  • 稳定性优化(可选):你可以为环境变量读取添加默认值,同时为接口请求增加异常捕获逻辑,避免单环节错误直接导致整个应用崩溃:
@app.route("/")
def index():
    api_key = os.getenv("API_KEY", "")
    if not api_key:
        return "API密钥未配置", 500
    try:
        req = requests.get("https://api.nasa.gov/planetary/apod?api_key=" + api_key)
        req.raise_for_status()
        data = req.json()
        return render_template('index.html', data=data)
    except Exception as e:
        return f"请求出错:{str(e)}", 500

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:30:00