Problema ao atualizar a versão Sqlite3 no CentOS para Python

Sep 24 2020

Eu tenho CentOS 6no meu sistema e estou tentando atualizar o SQLite para Python. Eu instalei da fonte e executei a sqlite --versionversão de retorno 3.33.0conforme o esperado.

No entanto, quando tento verificar a versão do SQLite python usando import sqlite3; sqlite3.sqlite_version;, ainda consigo a versão anterior do SQLite 3.6.20.

Software Locations:
     Python 3.6.9 - /usr/bin/python3
     Sqlite3 - /usr/bin/sqlite3

Já tentei a solução aqui , não funciona de LD_LIBRARY_PATHjeito nenhum, depois de atualizar e verificar a versão do python SQLite ainda dá '3.6.20', e aqui , quando tento sudo LD_RUN_PATH=, dá o erro No such file or directory, mas quando executo sem o sudo LD_RUN_PATH=, ele compila com sucesso, mas ainda me dá o SQLite '3.6.20' (Python compilado sem desinstalação).

Nota: eu tenho várias versões de python3.

O que posso fazer para resolver isso?

Respostas

Sarol Oct 04 2020 at 02:42

Quando fiz isso (especificamente tentando encontrar uma maneira de atualizar sqlite3 para um programa python em execução; não funcionou ...), compilei o sqlite e obtive libsqlite3.so.0.8.6 e substituí o sqlite3 do sistema inteiro por este. Para mim no debian, isso estava em / usr / lib / x86_64-linux-gnu. Eu vi (embora agora não consiga encontrar onde) que essa forma pode causar problemas ao atualizar no futuro. Ele atualizou o sqlite3 do python para mim.

sbluhm Oct 06 2020 at 12:45

Você pode importar versões específicas:

__requires__= 'sqlite3==3.6.20'
import pkg_resources
pkg_resources.require("sqlite3==3.6.20")
import sqlite

Observe que isso só funciona na primeira importação. Se sqlite for importado antes de pkg_resources, ele terá a versão mais recente.