Django: sqlite的版本问题小记 “SQLite 3.8.3 or later”
问题概述
在Django中,默认的数据库时SQLite3。
可能会出现sqlite版本问题的报错,具体如下
起初我直接在django的project下面开了个cmd窗口,
python python manage.py runserver
打开服务,就出现了如上报错。
因为有以前的东西在,所以不想降级找麻烦,参照runoob上的Windows 上安装 SQLite 的方法装了最新的SQLite,但是依然不行。
先查一下
貌似这是个老问题,其实网上一搜有好多相关内容,基本上的方法有:
- django降级
- sqlite升级
- 改掉django包里sqlite3中判断版本的函数
前两种方法都是在linux下操作的,我linux上面的程序是没碰到这个报错的。
报错发生在PC上,系统是win10,anaconda环境,(最近梯子出问题了,百度了半天并没有找到相关解答)。
emmm…… 这不是个大问题,能绕过不管,不影响干活,不过自己探索了一下,发现了anaconda的shell和cmd的一点点区别,水平有限终究不知道原因,所以记录一下~
打不过就先绕路
用 anaconda的shell,其实就没问题了,django使用的sqlite3就是conda里的。
虽然没解决,至少可以干活~
还是想研究一下——cmd和conda shell运行的对比
来看下对比图,
看图说话,清楚看出两边用的python和sqlite都是一样的,但是读取sqlite3版本号结果就是不一样。
django判断sqlite的版本源码就是红框的Database.sqlite_version_info
:
from sqlite3 import dbapi2 as Database
def check_sqlite_version():
if Database.sqlite_version_info < (3, 8, 3):
raise ImproperlyConfigured('SQLite 3.8.3 or later is required (found %s).' % Database.sqlite_version)
check_sqlite_version()
所以才有django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.8.2).
的报错
最后
水平有限还是不是很懂为什么cmd没调用正确的sqlite…… anaconda已经在环境变量了呀……
最近工作比较多,没太多时间去查资料了,只能先放放了,或者碰到大佬来解答一下~~~
Django: sqlite的版本问题小记 “SQLite 3.8.3 or later”的更多相关文章
- SQLite 的版本问题
原文:SQLite 的版本问题 在SQLite官方网站上的下载包真可以看花眼.不同的.net版本,还有不同的平台,开发和发布时需要加以注意. 在网上搜了搜,早有人注意到了. 关于在.Net开发中使用S ...
- 图解IntelliJ IDEA 13版本对Android SQLite数据库的支持
IntelliJ IDEA 13版本的重要构建之一是支持Android程序开发.当然对Android SQLite数据库的支持也就成为了Android开发者对IntelliJ IDEA 13版本的绝对 ...
- 关于在.Net开发中使用Sqlite的版本选择问题
原文:关于在.Net开发中使用Sqlite的版本选择问题 如果一个.NET应用要自适应32位/64位系统,只需要在项目的“目标平台”设置为“Any CPU”.但是如果应用中使用了SQLite,情况就不 ...
- 【转】关于在.Net开发中使用Sqlite的版本选择问题
如果一个.NET应用要自适应32位/64位系统,只需要在项目的“目标平台”设置为“Any CPU”.但是如果应用中使用了SQLite,情况就不同了. SQLite的.NET开发包来自是System.D ...
- SQLite Expert Professional 打开加密SQLite数据库
原文 SQLite Expert Professional 打开加密数据库 (已修改) 版本:sqlite expert professional 4.2.0.739 (x86) 目的:用SQLite ...
- paip.sqlite 管理最好的工具 SQLite Expert 最佳实践总结
paip.sqlite 管理最好的工具 SQLite Expert 最佳实践总结 一般的管理工具斗可以...就是要是sqlite没正常地关闭哈,有shm跟wal文件..例如ff的place.sqlit ...
- 在C#中利用Nuget包使用SQLite数据库和Linq to SQLite
本来是学习在VB中使用SQLite数据库和Linq to SQLite,结果先学习到了在C#中使用SQLite数据库和Linq to SQLite的方法,写出来与大家共同学习.(不知道算不算不务正业) ...
- 在VB中利用Nuget包使用SQLite数据库和Linq to SQLite
上午解决了在C#中利用Nuget包使用SQLite数据库和Linq to SQLite,但是最后生成的是C#的cs类文件,对于我这熟悉VB而对C#白痴的来说怎么能行呢? 于是下午接着研究,既然生成的是 ...
- Django 2.1版本与Django 1.8.3的一些区别(转)
Django 2.1版本与Django 1.8.3的一些区别 我在刚开始学习的时候使用的Django版本是1.8.3的,后来在安装其它软件的时候,可能需要2.1的版本,自动帮我更新了Djang ...
- 使用System.Data.SQLite及其EF模块操作SQLite数据库(文件)
SQLite for .NET (System.Data.SQLite) introduction An ADO.NET provider for SQLite including EF and Li ...
随机推荐
- onedrive 不显示图标
步骤一 https://www.xitongbuluo.com/jiaocheng/67248.html 步骤二 https://blog.csdn.net/weixin_44041700/artic ...
- fastapi四:uvicorn.run支持的参数
`app:指定应用app,'脚本名:FastAPI实例对象'.FastAPI实例对象 host: 字符串,允许被访问的形式 locahost.127.0.0.1.当前IP.0.0.0.0,默认为127 ...
- [原创] CSS自定义IOS苹果,Android安卓的CheckBox 效果,可以根据文字大小变化而变化,内框显示文字,另外可自定大小,自定颜色
在经过对网上一些自定CheckBox的一番研究之后,现在综合讲一下该样式实现的技巧. 先上图: 图中已展示了多种样式,实现的原理很简单,一个外Box,一个内Box,外Box显示背景色,内Box显示白色 ...
- 综合java admin后台记录
在新冠将来未来的气氛下,做一些年终封箱吧,这个事没做完,但暂时可能也没时间做,待来年了 https://hooray.gitee.io/fantastic-admin/ https://github. ...
- 使用emplace_back的new initializer expression list treated as compound expression提示看聚合初始化和parameter pack
测试代码 使用emplace_back可以避免不必要的构造和拷贝,而是直接在向量的内存位置执行construct进行构造,代码看起来也更加简洁. 但是在使用的时候,会发现有一些和直观不太对应的情况.例 ...
- win10 右键添加cmd当前目录打开
新建.txt粘贴以下命令保存修改扩展名为.reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\Ope ...
- Word07 评审会会议秩序册office真题
1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分. 2.这一步非常的简单,打开下载素材文件,在[文 ...
- MySQL 5.0版本的安装步骤
一.MYSQL的安装 1.以管理员的身份运行"mysql_setup.exe" 2.点击"Next" 3.选择"I accept the terms ...
- VUE学习-编译到浏览器
vue文件时怎样编译运行到浏览器的 http://www.manongjc.com/article/21832.html 通过vue-loader,解析.vue文件,在webpack解析,拆解vue组 ...
- 华硕推出无风扇迷你电脑 PL64-明显是奔着软路由去的
看这个配置,做客厅软路由再合适不过了.要是针对客厅的影音需求,CPU性能以及对大容量存储的刚需,这个还是有些欠缺. IT之家 12 月 17 日消息,华硕 PL 系列迷你电脑现已迎来最新一代机型,其中 ...