zoukankan      html  css  js  c++  java
  • 在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。

    用这两条命令确认一下已成功安装到这里:

    ls -l /usr/local/lib/*sqlite*
    ls -l /usr/local/include/*sqlite*

    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。

    没有蓝字的话,编译出来的Python仍将使用系统自带的SQLite。


    照此安装后,已经可以使用最新版SQLite了,此版本是2017年1月发布的:

    本文参考了Stackoverflow上tzot网友的方法,感谢~

    万一万一,此文的方法不管用,可以尝试:
    sudo apt-get remove sqlite3 libsqlite3-dev,删除系统自带的SQLite,之后再试一下。
  • 相关阅读:
    vscode识别预览markdown文件
    工具:静态资源服务器server
    vscode配置easy sass 生成压缩和未压缩的css文件
    cocos Create简单记录
    小程序AR云识别
    小程序被冻结 解冻方法
    vscode设置px转换为rem
    js 打印文本
    .net 启动进程并执行某方法
    c# 创建文件夹、压缩成zip格式并下载
  • 原文地址:https://www.cnblogs.com/animalize/p/6337440.html
Copyright © 2011-2022 走看看