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

部署Django聊天应用到Vercel时SQLite版本过低问题求助

解决Vercel部署Django时SQLite版本过低的问题

核心原因

Vercel的Python运行环境预装SQLite 3.7.17,而Django要求版本3.9.0及以上,且用户无法直接修改Vercel系统级的SQLite组件。

解决方案

方案一:替换为生产级数据库(推荐)

SQLite仅适配开发场景,生产环境直接切换到PostgreSQL这类数据库更可靠:

  • 在Vercel项目设置中配置PostgreSQL(或其他兼容数据库)的连接信息
  • 修改Django项目settings.py中的数据库配置:
import os

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': os.environ.get('DB_NAME'),
        'USER': os.environ.get('DB_USER'),
        'PASSWORD': os.environ.get('DB_PASSWORD'),
        'HOST': os.environ.get('DB_HOST'),
        'PORT': os.environ.get('DB_PORT'),
    }
}
  • 将数据库相关的密钥、地址等信息添加到Vercel项目的环境变量中

方案二:用pysqlite3-binary替换系统SQLite

如果必须使用SQLite,可通过第三方包绕开系统旧版本:

  1. 在项目requirements.txt中添加依赖:
pysqlite3-binary>=0.4.10
  1. 在Django项目的wsgi.py文件最顶部插入以下代码,强制替换系统sqlite3模块:
__import__('pysqlite3')
import sys
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
  1. 重新推送代码到Vercel完成部署

注意事项

  • 方案二仅适合小型测试项目,生产环境不建议继续使用SQLite
  • 部署前务必在本地完成测试,避免依赖冲突导致部署失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:31:05