You need to enable JavaScript to run this app. 使用AWS Elastic Beanstalk部署Django应用遇SQLite版本过低报错
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS Elastic Beanstalk部署Django应用遇SQLite版本过低报错

报错根因
  • Elastic Beanstalk(下文简称EB)的旧版Python运行环境基于Amazon Linux 1构建,系统自带的SQLite版本为3.7.17,低于Django要求的最低3.8.3版本。
  • 你当前的Django配置默认使用本地文件型SQLite作为数据库,除了触发版本校验报错,本身也完全不适合EB的弹性伸缩场景——实例会被随时销毁替换,本地存储的SQLite文件会随实例丢失,也无法在多实例间共享。
解决方案

方案一:替换为AWS托管数据库(唯一推荐的生产可用方案)

直接弃用SQLite,将Django数据库替换为RDS托管的MySQL/PostgreSQL,从根源绕开SQLite版本限制,同时解决数据持久化和多实例共享问题。
执行步骤:

  • 在EB环境配置中关联RDS数据库,或单独创建RDS实例后获取连接地址、端口、账号密码
  • 修改settings.py中的DATABASES配置,替换为RDS的连接参数,参考示例:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': os.environ.get('RDS_DB_NAME'),
        'USER': os.environ.get('RDS_USERNAME'),
        'PASSWORD': os.environ.get('RDS_PASSWORD'),
        'HOST': os.environ.get('RDS_HOSTNAME'),
        'PORT': os.environ.get('RDS_PORT'),
    }
}
  • 在项目根目录的requirements.txt中添加对应数据库的驱动:用PostgreSQL加psycopg2-binary,用MySQL加mysqlclient
  • RDS的连接参数全部通过EB的环境变量注入,不要硬写在代码里。

方案二:临时升级实例SQLite版本(仅本地测试用,禁止生产)

如果只是临时测试,非要用SQLite跑通流程,可以通过.ebextensions配置在实例初始化时编译安装高版本SQLite。

  • 新建.ebextensions/01-upgrade-sqlite.config文件,写入以下内容:
packages:
  yum:
    gcc: []
    make: []
    wget: []

commands:
  01_download_sqlite:
    command: wget 获取3.8.3以上版本的SQLite官方源码包
  02_extract_sqlite:
    command: 解压下载的源码压缩包
  03_install_sqlite:
    command: 进入解压后的源码目录,执行编译安装到`/usr/local`路径
  04_refresh_library_path:
    command: 执行ldconfig刷新系统动态库路径,让Python能调用到新版本SQLite
  • 注意该方案每次实例重新初始化都会重新编译SQLite,部署速度慢,且数据仍然存在本地,实例销毁后全部丢失,绝对不能用于生产环境。
额外配置修正建议
  • 将settings.py中的DEBUG改为False生产模式,同时把EB环境的实际域名加入ALLOWED_HOSTS,不要直接配置为['*']
  • 把.ebextensions/db-migrate.config里的django-admin.py migrate改为python manage.py migrate,避免因环境变量加载顺序问题导致迁移命令找不到项目配置
  • 在迁移命令前补充静态文件收集逻辑,改为执行python manage.py collectstatic --noinput && python manage.py migrate,避免静态资源加载失败
  • 将settings.py中的SECRET_KEY、邮箱授权码、PayU密钥等敏感信息全部改为从EB环境变量读取,不要硬写在代码中避免泄露

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.06 17:54:04