初次提交
This commit is contained in:
92
backend/start_simple.py
Normal file
92
backend/start_simple.py
Normal file
@@ -0,0 +1,92 @@
|
||||
#!/usr/bin/env python3
|
||||
# 简化版启动脚本,解决模块导入问题
|
||||
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
# 添加当前目录到Python路径
|
||||
current_dir = Path(__file__).parent
|
||||
sys.path.insert(0, str(current_dir))
|
||||
|
||||
print(f"当前目录: {current_dir}")
|
||||
print(f"Python路径: {sys.path[:3]}...")
|
||||
|
||||
# 检查必要目录
|
||||
required_dirs = ['app', 'app/core', 'app/api/v1/endpoints']
|
||||
for dir_path in required_dirs:
|
||||
full_path = current_dir / dir_path
|
||||
if not full_path.exists():
|
||||
print(f"创建目录: {dir_path}")
|
||||
full_path.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# 创建__init__.py
|
||||
init_file = full_path / '__init__.py'
|
||||
if not init_file.exists():
|
||||
init_file.write_text(f'"""{dir_path} 模块包"""\n')
|
||||
|
||||
try:
|
||||
# 测试导入
|
||||
print("测试导入模块...")
|
||||
from app.core.config import settings
|
||||
print("✓ app.core.config 导入成功")
|
||||
|
||||
from app.api.v1.endpoints import health, auth, files
|
||||
print("✓ app.api.v1.endpoints 导入成功")
|
||||
|
||||
# 启动FastAPI应用
|
||||
from fastapi import FastAPI
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
import uvicorn
|
||||
|
||||
app = FastAPI(
|
||||
title="云盘应用 API",
|
||||
description="现代化的云存储Web应用后端API",
|
||||
version="1.0.0",
|
||||
docs_url="/docs",
|
||||
redoc_url="/redoc"
|
||||
)
|
||||
|
||||
# CORS中间件
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
allow_origins=["*"], # 临时允许所有来源
|
||||
allow_credentials=True,
|
||||
allow_methods=["*"],
|
||||
allow_headers=["*"],
|
||||
)
|
||||
|
||||
# 包含路由
|
||||
app.include_router(health.router, prefix="/api/v1", tags=["health"])
|
||||
app.include_router(auth.router, prefix="/api/v1/auth", tags=["authentication"])
|
||||
app.include_router(files.router, prefix="/api/v1/files", tags=["files"])
|
||||
|
||||
@app.get("/")
|
||||
async def root():
|
||||
return {"message": "云盘应用 API", "version": "1.0.1"}
|
||||
|
||||
print("✓ FastAPI应用创建成功")
|
||||
|
||||
# 启动服务
|
||||
print("启动服务...")
|
||||
print("访问地址: http://localhost:8000")
|
||||
print("API文档: http://localhost:8000/docs")
|
||||
|
||||
uvicorn.run(
|
||||
app,
|
||||
host="0.0.0.0",
|
||||
port=8000,
|
||||
reload=False # 关闭热重载避免问题
|
||||
)
|
||||
|
||||
except ImportError as e:
|
||||
print(f"导入错误: {e}")
|
||||
print("\n可能的解决方案:")
|
||||
print("1. 确保在正确的目录运行(包含main.py的目录)")
|
||||
print("2. 安装依赖: pip install fastapi uvicorn sqlalchemy pymysql redis python-jose passlib python-multipart pydantic pydantic-settings httpx python-dotenv loguru")
|
||||
print("3. 检查app目录结构是否完整")
|
||||
sys.exit(1)
|
||||
|
||||
except Exception as e:
|
||||
print(f"启动错误: {e}")
|
||||
sys.exit(1)
|
||||
Reference in New Issue
Block a user