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

在Vercel部署Django应用时遭遇requirements.txt构建错误求助

解决Vercel部署Django应用时requirements安装失败的问题

核心问题分析

你遇到的错误本质是依赖包安装过程中编译失败或Python版本不匹配:

  • Vercel日志显示使用pip3.12安装,但配置指定了python3.9,版本不匹配引发依赖兼容性问题
  • mysqlclient和psycopg2属于编译型依赖,Vercel的Lambda环境缺少必要编译库,无法完成源码编译

具体解决方案

1. 统一Python版本,消除版本不匹配

修改vercel.json,添加环境变量强制指定Python版本,确保pip与runtime版本一致:

{
    "version": 2,
    "builds": [
        {
            "src": "ecommerce/wsgi.py",
            "use": "@vercel/python",
            "config": {
                "maxLambdaSize": "15mb",
                "runtime": "python3.9",
                "environment": {
                    "PYTHON_VERSION": "3.9"
                }
            }
        }
    ],
    "routes": [
        {
            "src": "/(.*)",
            "dest": "ecommerce/wsgi.py"
        }
    ]
}

2. 替换编译型依赖为预编译/纯Python版本

修改requirements.txt,将需要编译的依赖替换为无需编译的兼容版本:

Django==4.1.5
django-phonenumber-field==7.3.0
# 用mysql-connector-python替代mysqlclient(纯Python实现,无需编译)
mysql-connector-python==8.3.0
# 降低numpy版本到更稳定的Python3.9兼容版本
numpy==1.25.2
phonenumbers==8.13.36
# 用psycopg2-binary替代psycopg2(预编译二进制包)
psycopg2-binary==2.9.9
requests==2.31.0
requests-oauthlib==1.3.1
twilio==9.0.5

3. 本地验证依赖兼容性

在本地用Python3.9创建虚拟环境,安装依赖确认无问题:

# 创建并激活虚拟环境
python3.9 -m venv venv
source venv/bin/activate  # Linux/macOS环境
# 或执行 venv\Scripts\activate  # Windows环境

# 安装依赖
pip install -r requirements.txt

如果本地安装成功,再重新部署到Vercel。

4. 额外排查点

  • 确保项目根目录下的.vercelignore没有忽略requirements.txt等必要文件
  • 若问题仍存在,查看Vercel部署日志的完整错误信息(当前日志仅显示顶层错误,展开后可定位具体失败的依赖包)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 01:51:09