运行Django项目的python manage.py runserver命令遇SQLite错误求助
解决Django启动时的SQLite版本不兼容问题
从错误信息来看,你的Django版本(比如4.2及以上)要求SQLite版本至少为3.21.0,但当前Python环境关联的SQLite版本不达标——更换系统里的SQLite版本没用是因为Python自带了SQLite库,需要针对Python环境调整:
- 先确认当前Python实际使用的SQLite版本:
打开Python交互终端,执行以下代码:import sqlite3 print(sqlite3.sqlite_version) - 根据系统类型升级Python关联的SQLite:
- Windows系统:
- 下载与你的Python版本、位数(32/64位)匹配的高版本
sqlite3.dll文件,替换Python安装目录下DLLs文件夹中的同名文件,替换后重启Python环境再查版本确认。
- 下载与你的Python版本、位数(32/64位)匹配的高版本
- Linux/macOS系统:
- 从SQLite官方渠道下载高版本的源码包(比如3.40.0),解压后编译安装到本地目录:
tar xzf sqlite-autoconf-xxx.tar.gz cd sqlite-autoconf-xxx ./configure --prefix=/usr/local make && sudo make install - 然后重新编译Python,编译时指定关联刚才安装的SQLite库:
cd 你的Python源码目录 ./configure --enable-loadable-sqlite-extensions LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" make && sudo make install
- 从SQLite官方渠道下载高版本的源码包(比如3.40.0),解压后编译安装到本地目录:
- 虚拟环境用户:
- 确保虚拟环境绑定的是已经更新了SQLite版本的Python,或者直接创建新虚拟环境关联更新后的Python。
- Windows系统:
- 临时替代方案:
如果暂时无法升级SQLite,可以降级Django到适配当前版本的版本,比如SQLite 3.20.0可使用Django 4.1.x系列:pip install django==4.1.13
内容的提问来源于stack exchange,提问作者angit
相关产品推荐
相关产品推荐

