Vercel部署Python应用报错:无法找到支持的Python版本求助
解决Vercel部署Python FastAPI应用的「Error: Unable to find any supported Python versions」错误
问题根源分析
- requirements.txt滥用场景:该文件仅用于声明Python依赖包,不能指定Python运行时版本,你添加的
python==3.9.0会干扰Vercel的版本检测逻辑。 - vercel.json路径配置错误:
builds中的src字段使用了开头斜杠/app.py,Vercel会将其解析为系统绝对路径,无法定位项目根目录下的文件。 - 未明确指定Python运行时版本:Vercel需要独立的版本标识来加载对应环境,仅在requirements.txt中写版本无效。
修复步骤
1. 修正requirements.txt
移除其中的python==3.9.0行,同时删除不必要的uvicorn-worker==0.1.0(uvicorn已自带UvicornWorker),修正后的文件内容:
fastapi==0.110.0 markdown==3.6 python-dotenv==1.0.1 gunicorn==21.2.0 uvicorn==0.29.0 python-multipart==0.0.9 google-generativeai==0.4.1 google-cloud-aiplatform==1.44.0
2. 添加.runtime.txt文件
在项目根目录创建.runtime.txt文件,写入Vercel支持的Python版本(指定3.9即可,Vercel会自动匹配最新兼容的3.9.x版本):
3.9
3. 修正vercel.json配置
将builds中的src字段改为app.py(去掉开头的斜杠),确保Vercel能正确找到入口文件:
{ "devCommand": "gunicorn -w 4 -k uvicorn.workers.UvicornWorker app:app", "builds": [ { "src": "app.py", "use": "@vercel/python" } ], "routes": [ { "src": "/(.*)", "dest": "/app.py" } ] }
4. 重新部署
将修改后的文件提交到GitHub,触发Vercel重新部署,此时平台会正确识别Python 3.9环境,加载对应依赖完成部署。
内容的提问来源于stack exchange,提问作者webworm84
相关产品推荐
相关产品推荐

