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

Vercel部署Django项目遇Serverless Function体积超限问题求助

解决Vercel部署Django时Serverless函数大小超限问题

可行解决方案

Vercel Serverless函数的50MB体积限制,即便精简requirements.txt仍超标,大概率是依赖包冗余、构建缓存或项目冗余文件导致,试试以下方案:

1. 清理依赖包冗余文件

多数Python包会附带文档、测试用例、示例代码等无用文件,可通过pip参数减少安装体积,或用pip-tools精准控制依赖:

  • 构建时执行:
    pip install --no-cache-dir --no-binary :all: -r requirements.txt
    
  • 用pip-sync替代直接安装,确保仅安装requirements.txt内的依赖,无多余子依赖。

2. 配置Vercel依赖优化

在项目根目录的vercel.json中添加函数优化配置,让Vercel自动清理依赖冗余:

{
  "functions": {
    "StockChart/wsgi.py": {
      "runtime": "@vercel/python@3.10",
      "optimize": true
    }
  }
}

3. 拆分大依赖到外部逻辑

如果项目依赖pandas、numpy这类体积较大的库,可将数据处理逻辑迁移到Vercel Edge Functions(体积限制更宽松),或改用外部API处理数据,Django仅负责页面渲染与API调用,降低主函数的依赖体积。

4. 排除项目冗余文件

创建或更新.vercelignore,排除日志、数据集、缓存文件等不必要的内容,避免被打包进函数:

# .vercelignore
*.log
*.csv
__pycache__/
*.pyc
build/
dist/

5. 用PyInstaller预编译精简包

将Django项目与依赖打包为单可执行文件,大幅压缩体积:

  • 安装PyInstaller:
    pip install pyinstaller
    
  • 打包WSGI入口:
    pyinstaller --onefile StockChart/wsgi.py
    
  • 在vercel.json中指定打包后的可执行文件作为函数入口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 17:41:06