如何解决Python SQLite版本过低问题?

Python

1 前言

一个问题,一篇文章,一出故事。
今天遇到编译版本的Python SQLite版本过低问题,用户代码如下报错如下,

Traceback (most recent call last):
  File "test.py", line 6, in 
    _sqlite3_cursor.execute("update t_TaskLog as a set message='test' where  a.id in (select b.id from t_TaskLog2 b where b.id=a.id and b.id<=10)")
sqlite3.OperationalError: near "as": syntax error

执行如下命令查看Python中的SQLite版本,

python -c "import sqlite3; print('Python SQLite Version:', sqlite3.sqlite_version)"

可见如下输出,

Python SQLite Version: 3.7.17

错误是由于当前版本的SQLite不支持as语法关键字,因此报错。

2 最佳实践

2.1 编译安装新版本的SQLite

如何CentOS 7.x编译SQLite 3.51.1?

2.2 确认编译安装后的Python SqLite版本

python -c "import sqlite3; print('Python SQLite Version:', sqlite3.sqlite_version)"

可见如下输出,

Python SQLite Version: 3.51.1

注:代码测试重新跑不报错即可。

没有评论

发表回复

Python
如何解决CentOS 7.x firewall-cmd Python不兼容问题?

1 前言 一个问题,一篇文章,一出故事。 今天基于CentOS 7.x编译并安装新版本的Python …

Python
如何解决CentOS 7.x yum Python不兼容问题?

1 前言 一个问题,一篇文章,一出故事。 今天基于CentOS 7.x编译并安装新版本的Python …

Python
如何基于CentOS 7.x编译安装Python 3.x?

1 前言 一个问题,一篇文章,一出故事。 今天遇到CentOS 7.x Python版本过旧需要安装 …