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

如何通过vercel.json缓存requirements.txt中的pip包加速Vercel部署

解决Vercel部署时pip包安装过慢的问题

我在Vercel部署Python项目时,安装requirements.txt里的依赖要花10分钟以上,查了Vercel官方文档没找到pip缓存的相关说明,求可行的缓存方案。

现有配置文件

requirements.txt

Flask==2.3.3
Flask-Admin==1.6.1
Flask-BabelEx==0.9.4
Flask-Cors==4.0.0
Flask-Login==0.6.2
Flask-Mail==0.9.1
Flask-Migrate==4.0.5
Flask-Principal==0.4.0
Flask-RESTful==0.3.10
Flask-Security-Too==5.3.0
Flask-SQLAlchemy==3.1.1
Flask-WTF==1.1.1

vercel.json

{
  "rewrites": [
    { "source": "/(.*)", "destination": "/api/app" }
  ]
}

解决方案建议

1. 自定义构建脚本+缓存pip目录

这是最直接的缓存方案,利用Vercel的构建缓存机制保存pip下载的包:

  • 项目根目录创建package.json(没有的话新建),添加构建命令:
    {
      "scripts": {
        "vercel-build": "pip install --cache-dir .pip-cache -r requirements.txt"
      }
    }
    
    如果有额外的构建步骤(比如数据库迁移),可以把命令拼接进去,比如pip install ... && flask db upgrade。
  • 新建.vercelignore文件,写入.pip-cache/,避免缓存目录被上传到Vercel。
  • 打开Vercel项目的Settings > Build & Development Settings > Build Cache,在Cache Paths里添加.pip-cache,保存后下次构建就会复用缓存的包。

2. 切换到Poetry/Pipenv管理依赖(可选)

这类工具的锁文件能精准锁定依赖版本,且自带的缓存更容易被Vercel识别:

  • 用Poetry的话,生成pyproject.toml和poetry.lock替代requirements.txt,然后修改vercel-build命令为:
    poetry install --no-root
    
  • 同样在Vercel缓存设置里添加Poetry的缓存目录(默认是~/.cache/pypoetry),后续构建会自动复用缓存。

3. 临时提速:用国内PyPI镜像

如果是网络延迟导致的慢,可以在pip安装时指定国内镜像源,比如:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --cache-dir .pip-cache -r requirements.txt

这个方法可以配合缓存方案一起用,进一步缩短首次安装时间。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 14:25:27