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

在Vercel部署NextJS与Flask时遇“No module named flask_migrate”错误

解决Vercel部署Flask+NextJS项目时flask_migrate找不到的问题

核心原因

本地运行正常但Vercel部署失败,本质是部署环境未正确安装flask_migrate依赖,该问题和Flask/werkzeug版本关系不大,重点排查依赖配置和Vercel部署逻辑。

具体解决方案

  • 检查并更新requirements.txt
    本地开发时可能通过虚拟环境安装了Flask-Migrate,但未将其添加到项目的requirements.txt中。Vercel部署Python函数时,只会自动安装该文件中列出的依赖。
    操作步骤:

    1. 激活本地虚拟环境
    2. 执行命令:pip freeze > requirements.txt
    3. 打开requirements.txt,确认存在Flask-Migrate==[你的本地版本号]
    4. 将更新后的requirements.txt提交到Git仓库,重新部署到Vercel
  • 确保虚拟环境未被提交到仓库
    如果本地虚拟环境(如venv/或env/)被误提交到Git,Vercel部署时可能会优先读取本地环境的依赖路径,导致部署环境无法找到正确的包。
    操作步骤:

    1. 打开.gitignore文件,添加一行:venv/(或你使用的虚拟环境目录名)
    2. 执行命令:git rm -r --cached venv/(移除已提交的虚拟环境文件)
    3. 提交.gitignore的修改到仓库
  • 指定Python运行时版本
    Vercel默认的Python版本可能与本地开发环境不一致,导致依赖安装兼容性问题。可通过runtime.txt指定版本:

    1. 在项目根目录创建runtime.txt文件
    2. 写入对应版本,例如:python-3.9(需与本地使用的Python版本一致)
    3. 提交文件到仓库后重新部署
  • 检查Vercel函数配置
    如果你的Flask应用是作为Vercel的Serverless函数运行,需确保vercel.json中的函数配置正确指向Python运行时。示例配置:

    {
      "functions": {
        "api/**/*.py": {
          "runtime": "@vercel/python@3.9"
        }
      }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:59:59