我在启动 uvicorn 时遇到问题。我对 python 和 fastapi 很陌生,所以我假设我做了一些非常愚蠢的事情。
我已将问题隔离在我的 api_router.py 文件中
from fastapi import APIRouter
from API.endpoints import user_endpoints
api_router = APIRouter()
api_router.include_router(user_endpoints, prefix="/user", tags=["User"])
当我注释掉 from API.endpoints import user_endpoints 并 api_router.include_router(user_endpoints, prefix="/user",tags=["User"]),则不会出现错误。我是否尝试错误地导入 user_endpoints.py 文件?我附上了目录结构的图像。
user_endpoints.py 看起来像这样:
from fastapi.routing import APIRouter
from typing import Optional, List
from API.schema.user import User
from models.user import Users
from main import db
router = APIRouter
@router.get('/users', response_model=List[User], status_code=200)
def get_all_users():
users=db.query(Users).all()
return users
@router.get('/users/{user_id}')
def get_user(user_id):
pass
@router.post('/users')
def create_user():
pass
@router.put('/users/{user_id}')
def update_user(user_id):
pass
@router.delete('/users/{user_id}')
def delete_user(user_id):
pass
任何有关此问题的帮助将不胜感激。
谢谢
格雷格
最佳答案
我认为它是在谈论你的终端的当前工作目录,当你向它输入 uvicorn main:app ...
时,无法找到 main。使终端的工作目录与 main.py
关于Python、fastAPI、uvicorn - 加载 ASGI 应用程序时出错。无法导入模块 "main",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70400352/