fix: migrations 模块在 gunicorn --preload 下无法导入

ModuleNotFoundError: No module named 'migrations'
根因:gunicorn 的 sys.path 不包含 backend/ 目录
修复:flask_app.py 顶层添加 sys.path.insert 确保 backend 在搜索路径中
This commit is contained in:
mac
2026-06-29 16:45:16 +08:00
parent d47fde60a4
commit 96948a37de

View File

@@ -1,12 +1,18 @@
from datetime import date, datetime from datetime import date, datetime
from pathlib import Path from pathlib import Path
import os import os
import sys
import json import json
import shutil import shutil
import sqlite3 # 保留用于数据迁移 import sqlite3 # 保留用于数据迁移
import logging import logging
import mysql.connector import mysql.connector
# 确保 backend 目录在 sys.path 中(兼容 gunicorn --preload 模式)
_backend_dir = os.path.dirname(os.path.abspath(__file__))
if _backend_dir not in sys.path:
sys.path.insert(0, _backend_dir)
from flask import Flask, jsonify, render_template, request, send_file, session, redirect from flask import Flask, jsonify, render_template, request, send_file, session, redirect
from werkzeug.security import generate_password_hash, check_password_hash from werkzeug.security import generate_password_hash, check_password_hash