Problema durante l'aggiornamento della versione Sqlite3 su CentOS per Python
Ho CentOS 6sul mio sistema e sto cercando di aggiornare SQLite per Python. L'ho installato dal sorgente e l'esecuzione sqlite --versionrestituisce la versione 3.33.0come previsto.
Tuttavia, quando provo a controllare la versione SQLite di python utilizzando, import sqlite3; sqlite3.sqlite_version;ottengo ancora la versione precedente di SQLite 3.6.20.
Software Locations:
Python 3.6.9 - /usr/bin/python3
Sqlite3 - /usr/bin/sqlite3
Ho provato la soluzione qui , questo non funziona affatto, dopo aver aggiornato LD_LIBRARY_PATHe controllato la versione SQLite di python dà ancora '3.6.20', e qui , quando provo sudo LD_RUN_PATH=, mi dà l'errore No such file or directory, ma quando lo eseguo senza sudo LD_RUN_PATH=, si compila con successo ma mi dà ancora SQLite '3.6.20' (Python compilato senza disinstallare).
Nota: ho più versioni di python3.
Cosa posso fare per risolvere questo problema?
Risposte
Quando l'ho fatto (in particolare cercando di trovare un modo per aggiornare sqlite3 per un programma python in esecuzione; non ha funzionato ...), ho compilato sqlite e ottenuto libsqlite3.so.0.8.6, quindi ho sostituito sqlite3 a livello di sistema con quello. Per me su Debian, era in / usr / lib / x86_64-linux-gnu. Ho visto (anche se ora non riesco a trovare dove) che in questo modo potrebbe causare problemi durante l'aggiornamento in futuro. Tuttavia, ha aggiornato sqlite3 di Python per me.
Puoi importare versioni specifiche:
__requires__= 'sqlite3==3.6.20'
import pkg_resources
pkg_resources.require("sqlite3==3.6.20")
import sqlite
Nota che funziona solo alla prima importazione. Se sqlite viene importato prima di pkg_resources, richiederà l'ultima versione.