在Ubuntu上升级SQLite,并让Python使用新版SQLite
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Ubuntu上升级SQLite,并让Python使用新版SQLite相关的知识,希望对你有一定的参考价值。
(本文适用于Debian系的Linux,如Ubuntu、Raspbian等等。)
在Linux上,Python的sqlite3模块使用系统自带的SQLite引擎,然而系统自带的SQLite可能版本太老了。
用sqlite3.sqlite_version看一下SQLite引擎的版本,查询得知这个版本是2012年6月发布的:
要升级SQLite引擎到新版、并被Python使用,需要如下两个步骤:
1、先下载、编译、安装SQLite引擎
到SQLite官网的下载页面:https://www.sqlite.org/download.html 这里是最新的版本,我们就安装它吧。
源码有两个文件,我们下第二个(sqlite-autoconf-3160200.tar.gz),因为这个有配置文件。复制其链接,然后在终端执行:
wget https://www.sqlite.org/2017/sqlite-autoconf-3160200.tar.gz tar zxvf sqlite-autoconf-3160200.tar.gz cd sqlite-autoconf-3160200 ./configure make sudo make install
以默认方式安装后,会把编译好的二进制文件安装到 /usr/local/lib, 把头文件sqlite3.h sqlite3ext.h安装到/usr/local/include,我们需要知道这两个路径。
2、下载、编译、安装Python
请照此文的方法做: http://www.cnblogs.com/infopi/p/update_python_raspbian.html
唯一的区别是,在编译时略有不同。假设我们安装的是Python 3.5:
cd ./Python-3.5.3
./configure --prefix=/opt/python3.5
make
make
sudo make install
要改为:
cd ./Python-3.5.3
LD_RUN_PATH=/usr/local/lib ./configure LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" --prefix=/opt/python3.5
LD_RUN_PATH=/usr/local/lib make
make
sudo make install
蓝字是相比上面多出来的东西,表示Python要到那两个目录里去找SQLite。
照此安装后,已经可以使用最新版SQLite了,此版本是2017年1月发布的:
本文参考了Stackoverflow上的方法,表示感谢~
万一万一,此文的方法不管用,可以sudo apt-get remove sqlite3 libsqlite3-dev,之后再试一下。
以上是关于在Ubuntu上升级SQLite,并让Python使用新版SQLite的主要内容,如果未能解决你的问题,请参考以下文章
在 CentOS for Python 上升级 Sqlite3 版本的问题