fix: add api/ to sys.path so app.py can run from project root

Also resolve .env.local and .env paths relative to project root
instead of current working directory.
This commit is contained in:
wsb1224 2026-07-24 12:39:57 +08:00
parent 622f0d18b2
commit 8b4988b0d5

View File

@ -3,14 +3,24 @@
独立部署时使用的 Flask 应用不依赖 Dify 扩展 独立部署时使用的 Flask 应用不依赖 Dify 扩展
""" """
import os import os
import sys
import logging import logging
from logging.handlers import RotatingFileHandler from logging.handlers import RotatingFileHandler
# 将 api/ 目录加入搜索路径,使 `from insurance.xxx` 可从任意位置运行
_this_dir = os.path.dirname(os.path.abspath(__file__))
_api_dir = os.path.dirname(_this_dir)
if _api_dir not in sys.path:
sys.path.insert(0, _api_dir)
from flask import Flask from flask import Flask
from flask_cors import CORS from flask_cors import CORS
from dotenv import load_dotenv from dotenv import load_dotenv
# 加载环境变量,.env.local 优先级最高(本地开发用,不影响 Docker 部署) # 加载环境变量,.env.local 优先级最高(本地开发用,不影响 Docker 部署)
load_dotenv('.env.local', override=True) _project_root = os.path.dirname(_api_dir) # baodanagent/
load_dotenv(os.path.join(_project_root, '.env.local'), override=True)
load_dotenv(os.path.join(_project_root, '.env'))
load_dotenv() load_dotenv()