You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vercel中正确指定Python运行时版本?FastAPI部署遇阻

FastAPI部署Vercel时Python版本不生效问题及适配建议

问题分析

你遇到的核心问题是指定Python3.9运行时但实际使用了默认的3.12,导致内部错误,修改vercel.json的functions配置后仍不生效。

解决步骤

  • 添加runtime.txt文件:在项目根目录创建runtime.txt,内容仅写python-3.9。Vercel会优先读取这个文件的版本配置,这是容易忽略的关键步骤,仅靠vercel.json可能无法生效。
  • 验证vercel.json配置:确保functions里的文件路径和你的实际入口文件完全匹配,比如你的FastAPI入口是api/index.py,配置就没问题;如果入口是main.py,要对应修改路径。配置示例:
    {
      "devCommand": "uvicorn main:app --host 0.0.0.0 --port 3000",
      "functions": {
        "api/index.py": {
          "runtime": "python@3.9"
        }
      },
      "routes": [
        {
          "src": "/(.*)",
          "dest": "api/index.py"
        }
      ]
    }
    
  • 清理构建缓存重新部署:在Vercel控制台发起部署时,勾选"Skip Cache"选项,避免旧的构建缓存覆盖新配置。

是否适合用Vercel部署Python项目?

Vercel完全支持部署Python项目,尤其是轻量的FastAPI Serverless API服务:

  • 优势:部署流程简单、按需计费成本低、自带CDN加速,适合个人项目、小型API服务快速上线。
  • 局限性:不适合需要长连接(如WebSocket)、持续运行的后台任务,或者高并发且需要稳定资源的场景,这类场景更适合用云服务器、Docker容器等部署方式。

内容的提问来源于stack exchange,提问作者agongji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 18:42:44