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

部署Django应用至AWS Elastic Beanstalk时遇requirements.txt错误求助

嘿,我来帮你搞定Django部署到AWS Elastic Beanstalk时eb create失败的问题!结合你提到的操作步骤和常见的部署坑,给你梳理几个关键排查方向:

排查Django部署AWS EB的eb create失败问题

1. 先盯紧你的requirements.txt

  • 确保你是激活虚拟环境后执行的pip freeze > requirements.txt,别把本地环境里无关的包(比如Windows专属的依赖)混进去——EB用的是Linux实例,不兼容的包会直接导致pip install失败。
  • 别漏了gunicorn!这是EB运行Django必须的WSGI服务器,很多新手会忘记加这个依赖,直接导致实例启动失败。
  • 检查Django版本和EB的Python平台兼容性:比如EB的Amazon Linux 2默认支持Python 3.8+,如果你的Django是2.x版本,要确认两者能兼容。

2. 确认EB CLI和环境配置没问题

  • 先检查你的EB CLI是不是最新版本,旧版本可能对-s(单实例)参数有兼容问题:
    eb --version
    # 如果版本旧,执行升级
    pip install --upgrade awsebcli
    
  • 看看项目根目录的.elasticbeanstalk/config.yml,确认平台配置正确,比如指定了对应版本的Python:
    platform: Python 3.9 running on 64bit Amazon Linux 2
    

3. 从EB日志抓关键报错(不用点链接,直接在控制台看更方便)

登录AWS控制台,进入你的Elastic Beanstalk环境,找到日志→请求日志→完整日志,重点找这些报错:

  • 如果是pip install失败:大概率是依赖包找不到、版本冲突,或者需要系统级依赖(比如用psycopg2连接PostgreSQL的话,需要先装libpq-dev,这时候得用.ebextensions配置)。
  • 如果是Django启动报错:检查wsgi.py里的DJANGO_SETTINGS_MODULE路径是否正确,或者在EB环境变量里手动设置这个参数。

4. 补全必要的项目配置文件

  • 项目根目录必须有application.py文件(EB靠这个识别WSGI应用),内容替换成你的项目名:
    import os
    import sys
    
    # 把Django项目目录加入Python路径
    path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    sys.path.append(path)
    
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "你的Django项目名.settings")
    
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
    
  • 如果需要系统级依赖,在项目根目录创建.ebextensions文件夹,里面新建01_system_packages.config:
    packages:
      yum:
        postgresql-devel: []  # 如果你用PostgreSQL的话
        python3-devel: []
    

5. 本地预测试省时间

先在本地用eb local run --port 8000测试能不能正常启动,这样可以提前发现依赖或配置问题,不用每次都部署到EB浪费时间。

如果能拿到日志里的具体报错行,比如某条依赖安装失败的提示,或者Django启动的错误信息,可以补充上来,我再帮你精准定位!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:57:51