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

如何配置vercel.json实现Flask应用本地与部署环境的统一模块导入?

Flask + Vercel 兼容本地与部署环境的模块导入方案

你遇到的问题核心是本地和Vercel部署环境的Python模块搜索路径不一致导致的导入差异,不需要修改vercel.json,通过调整代码里的模块搜索路径就能统一两种环境的导入方式,具体操作如下:

解决步骤

  • 在api/app.py的最开头添加以下代码,将当前文件所在的api目录加入Python的模块搜索路径:
import sys
import os
# 将api目录添加到Python模块搜索路径
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
  • 保持import my_module的导入写法不变,无需改用相对导入。

原理说明

本地开发时,你大概率是在api目录下直接运行app.py,或者通过Flask命令指定入口时,Python默认会把当前执行目录加入搜索路径,所以import my_module能正常找到同目录下的模块;而Vercel的Python构建环境会以项目根目录作为工作目录执行api/app.py,此时api目录不在默认搜索路径里,导致直接import my_module失败。通过手动把api目录加入搜索路径,就能让两种环境的模块搜索规则保持一致,自然无需修改导入语句。

验证

  • 本地环境:按原来的方式启动Flask应用,import my_module依然正常工作
  • Vercel部署:保持现有vercel.json配置不变,直接部署即可,无需调整导入语法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 20:02:34