我无法让 API 在 Vercel 上运行,在本地运行就可以了。
由于我也是第一次使用Vercel,所以我似乎找不到日志。构建日志工作正常(它告诉我 6 个静态页面,其余 0 个),但是当我转到部署页面时,它为我提供了
404
(不是来自我的 API)。
端口
8000
根本不加载任何东西。
Vercel.json
{
"version": 2,
"builds": [
{
"src": "main.py",
"use": "@vercel/python"
}
],
"routes": [
{
"src": "/(.*)",
"dest": "app/api.py"
}
]
}
main.py
import uvicorn
from os import getenv
if __name__ == "__main__":
port = int(getenv("PORT", 8000))
uvicorn.run("app.api:app", host="0.0.0.0", port=port, reload=True)
api.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/", tags=["Root"])
async def read_root():
return {"message": "Welcome to this fantastic app!"}
项目结构
app
|- models/
|- routes/
|- __init__.py
|- api.py
|- database.py
main.py
requirements.txt
Vercel.json
我在这里缺少什么?我尝试使用 Vercel CLI 和
Vercel .
进行部署,并提交到我的 GitHub 存储库,这有效。 API 似乎没有运行。
将您的
vercel.json
文件更改为
{
"version": 2,
"builds": [
{
"src": "/app/api.py",
"use": "@vercel/python"
}
],
"routes": [
{
"src": "/(.*)",
"dest": "app/api.py"
}
]
}
Vercel 的 Python 运行时默认部署到端口 3000。
此外,您的根目录中需要一个包含index.py的api目录,其中包含main.py的内容