在linux上升级python3中使用的SQLite3版本?

时间:2018-04-19 11:51:54

标签: python linux python-3.x sqlite

我需要升级我的python 3使用的sqlite3版本,但似乎没有明确的答案,我不明白是什么决定了python使用的sqlite3的版本。我正在运行安装了python 3.6.4的CentOS7。 CentOS安装了sqlite版本3.7.17,我将其升级到3.23.1思维python也会使用这个从未版本的sqlite。

import sqlite3
print(sqlite3.sqlite_version)

以下代码仍然给了我3.17。我已经google了如何升级版本,但大多数solutions似乎只引用了python 2的pysqlite。其他解决方案谈论complicated compiling processes,这些都超出了我的想法。

我不明白是什么决定了python使用的sqlite版本。是由python版本确定的,OS安装sqlite版本?我也在我的Windows PC上运行python 3.6.4,它说我运行3.14.2所以看起来sqlite版本不依赖于python版本。

什么决定了python使用的sqlite版本?是否有更直接的方法来升级python 3的sqlite版本?

2 个答案:

答案 0 :(得分:1)

在Ubuntu中,您可以添加dqlite存储库并使用apt对其进行更新。

sudo add-apt-repository -y ppa:dqlite/stable
sudo apt update
sudo apt install sqlite3

答案 1 :(得分:0)

sqlite3是一种外部库。 因此,您需要设置外部库路径。

尝试下一个命令

printenv LD_LIBRARY_PATH

如果您从未设置过,结果将为空。

下一步命令将使用已安装的sqlite3 for python

export LD_LIBRARY_PATH="/usr/local/lib"

然后,您可以执行并获取正确的版本

import sqlite3
print(sqlite3.sqlite_version)

,但是当您注销并再次登录时,此方法将被重置。 因此,如果您希望在每次登录时都注册该环境变量,则应编辑/ etc / profile

sudo vi /etc/profile

并添加导出代码

export LD_LIBRARY_PATH="/usr/local/lib"

然后,如果您注销并再次登录,则可以看到LD_LIBRARY_PATH已注册。