有关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版本过低报错

参考文献

相关推荐
world-wide-wait19 小时前
机器学习03——matplotlib
python·机器学习·matplotlib
程序员皮皮林20 小时前
Java 25 正式发布:更简洁、更高效、更现代!
java·开发语言·python
好家伙VCC20 小时前
**发散创新:AI绘画编程探索与实践**随着人工智能技术的飞速发展,AI绘
java·人工智能·python·ai作画
数新网络21 小时前
Data Ingestion: Architectural Patterns
python·command-pattern
顾安r21 小时前
10.25 脚本 整理2024全年 GITHUB每周热门项目
linux·c语言·python·github·bash
新子y1 天前
【小白笔记】 while 与 for + break 的比较分析
笔记·python
kida_yuan1 天前
【从零开始】17. 中文摘要提取工具
python·算法·数据分析
chinesegf1 天前
Docker篇2-用python运行项目和docker运行冲突问题
python·docker·容器
ZhengEnCi1 天前
Python 特点和版本完全指南 - 从零基础到选择最适合的编程语言
python
鹿邑网爬1 天前
Python 制作“满屏浪漫弹窗”教程
后端·python