我需要升级我的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版本?
答案 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已注册。