有关django、python版本、sqlite3版本冲突问题

本篇是解析为什么会出现python版本使用旧版本的sqlite3版本的问题,解决办法在下面有备注,如有遗漏之处或错误,望佬们指出,再次感谢不禁~~

【坑点】更新python版本,并不会让sqlite版本实时更新,依旧是调用首个python版本的sqlite3版本

【影响】Django版本所需要的sqlite3版本有一定要求,版本不匹配,会出现无法运行的情况

Ⅰ 复现情况

shell 复制代码
import sqlite3
print(sqlite3.version_info) #显示sqlite3版本信息
print(sqlite3.sqlite_version) #显示SQLite版本信息
# 快速执行
python -c "import sqlite3; print(sqlite3.sqlite_version)"
python -c "import sqlite3; print(sqlite3.version_info)"

3.12.3

3.12.6

2.7

不难看出来一点,就是更换了python版本,所使用的SQLite版本不升级

Ⅱ 原因分析

在前面,始终提到一个点,就是"更换了python版本,所使用的SQLite版本不升级 ",那究竟是什么原因导致的。

实际上,sqlite3版本是最终会走到/usr/bin/sqlite3这个文件上,每次的python更新或者用虚拟环境更换python版本,并不会让这个文件替换掉,依旧是使用最初安装的那一个python对应的sqlite3版本。

复制代码
ls -al /usr/bin/sqlite3

Ⅲ 解决办法

需要手动下载一个sqlite3包,然后将最初那一个替换掉,即可,详细参考这篇文章 Sqlite版本过低报错

参考文献

相关推荐
如何原谅奋力过但无声38 分钟前
【灵神高频面试题合集06-08】反转链表、快慢指针(环形链表/重排链表)、前后指针(删除链表/链表去重)
数据结构·python·算法·leetcode·链表
deephub1 小时前
2026 RAG 选型指南:Vector、Graph、Vectorless 该怎么挑
人工智能·python·大语言模型·rag
狐狐生风3 小时前
使用 UV 创建并运行 Python 项目(完整步骤)
python·uv
噜噜噜阿鲁~3 小时前
python学习笔记 | 9.2、模块-安装第三方模块
笔记·python·学习
现代野蛮人3 小时前
【深度学习】 —— VGG-16 网络实现猫狗识别
网络·人工智能·python·深度学习·tensorflow
一个小猴子`3 小时前
Pytorch快速复习
人工智能·pytorch·python
wang3zc3 小时前
mysql如何提升InnoDB写入性能_对比MyISAM的写入锁机制
jvm·数据库·python
一起逃去看海吧3 小时前
工作流原理和实践
python
Ulyanov3 小时前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 可视化革命——基于 PyVista 的 3D 战场构建与实时渲染
开发语言·python·算法·3d·系统仿真
爱喝热水的呀哈喽3 小时前
一段即插即用的hypermesh命令行
开发语言·python