Vercel部署Flask应用报错:无法找到支持的Python版本
解决Vercel部署Flask应用时"找不到支持的Python版本"错误
针对你遇到的问题,以下是几个可直接尝试的解决方案:
1. 添加requirements.txt依赖文件
Vercel的Python构建环境优先识别requirements.txt,即使已有Pipfile,创建该文件并列出依赖:
Flask>=2.0.0 requests>=2.25.0 python-dotenv>=0.19.0
2. 修正vercel.json配置细节
- 调整runtime参数格式:将
python3.9改为python-3.9(Vercel规范的版本格式) - 指定
@vercel/python的具体版本避免兼容性问题 - 修正routes的dest路径,指向具体的Flask入口文件:
{ "version": 2, "builds": [ { "src": "./index.py", "use": "@vercel/python@3.0.12", "config": {"runtime": "python-3.9"} } ], "routes": [ { "src": "/(.*)", "dest": "/index.py" } ] }
3. 适配Vercel Serverless Functions规范
将Flask应用调整为符合Vercel无服务器函数的结构:
- 创建
api目录,将index.py移入该目录 - 在
index.py中导出WSGI应用(必须步骤):
from flask import Flask app = Flask(__name__) @app.route('/') def home(): return "Hello from Flask!" # 导出供Vercel调用的app实例 application = app
- 更新
vercel.json配置:
{ "version": 2, "builds": [ { "src": "api/index.py", "use": "@vercel/python" } ], "routes": [ { "src": "/(.*)", "dest": "/api/index.py" } ] }
4. 添加.python-version文件明确版本
在项目根目录创建.python-version文件,内容直接写目标Python版本:
3.9
这些方法覆盖了Vercel识别Python版本的常见触发条件,从依赖文件、配置格式到目录结构逐一排查,大概率能解决问题。
内容的提问来源于stack exchange,提问作者Aarav
相关产品推荐
相关产品推荐

