Fastapi funciona con uvicorn pero no cuando se implementa

Implementé una API con Fastapi que funcionó perfectamente cuando usé uvicorn para alojarlo localmente. Ahora, cuando lo implementé con Deta, muestra "Error de servidor interno 500".

¿Hay algún problema con mi main.py? En Deta Visor solo dice que la respuesta es "Error interno del servidor" y también "Sin errores".

Mi principal.py:

#!/usr/bin/python3
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
import sqlite3

from fastapi.params import Depends

app = FastAPI()

origins = [
    "*"
]

async def get_db():
    conn = sqlite3.connect("C:/Users/Administrator/Desktop/CryptoBotDB.sqlite", check_same_thread=False)
    try:
        yield conn
    finally:
        conn.close()

app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

@app.get("/")
async def root(db = Depends(get_db)):
    cur = db.cursor()
    
    cur.execute("SELECT money_start_total FROM Trades")
    trades = cur.fetchall()
    profit_lista = []
    for item in trades:
        profit_lista.append(round(int(item[0]), 0))

    profit_perc_lista = []
    cur.execute("SELECT profit_perc FROM Trades")
    profit_perc = cur.fetchall()
    for item in profit_perc:
        profit_perc_lista.append(str(round(int(item[0]), 0)) + "%")

    cur.execute("SELECT month FROM Trades")
    months = cur.fetchall()
    month_lista = []
    for item in months:
        month_lista.append(item[0][:2] + '/20' + item[0][2:])
        
    profit_dict = {"data": [{'data': profit_lista, 'labels': month_lista}]}
    data_lista = []

    for i in range((len(trades))):
        data_lista.append({"month": month_lista[i], "money": profit_perc_lista[i], "style": "color:red"})
    data_lista.reverse()

    cur.execute("SELECT money_end_total from Trades")
    money_now = cur.fetchall()[-1][-1]
    if money_now > 3001.0:
        total_profits = '+' + str(round((1 - (int(money_now) / 3001.0)) * 100, 2)) + '%'
    else:
        total_profits = '-' + str(round((1 - (int(money_now) / 3001.0)) * 100, 2)) + '%'
    total_profits_cash = str(round(money_now - 3001.0, 2)) + '€'

    total_profits_dict = {"profits_perc": total_profits, "profits_cash": total_profits_cash}

    cur.execute("SELECT profperc from cur_pos")
    cur_perc = cur.fetchone()
    cur.execute("SELECT profcash from cur_pos")
    cur_cash = cur.fetchone()

    cur_dictionary = {"cur_perc": cur_perc, "cur_cash": cur_cash}

    return profit_dict, data_lista, total_profits_dict, cur_dictionary

Answer