Problem z aktualizacją wersji Sqlite3 na CentOS for Python
Mam CentOS 6w systemie i próbuję zaktualizować SQLite dla Pythona. Zainstalowałem go ze źródła i wykonuję sqlite --versionwersję zwracaną 3.33.0zgodnie z oczekiwaniami.
Jednak kiedy próbuję sprawdzić wersję Pythona SQLite za pomocą import sqlite3; sqlite3.sqlite_version;, nadal otrzymuję poprzednią wersję SQLite 3.6.20.
Software Locations:
Python 3.6.9 - /usr/bin/python3
Sqlite3 - /usr/bin/sqlite3
Wypróbowałem rozwiązanie tutaj , to w ogóle nie działa, po aktualizacji LD_LIBRARY_PATHi sprawdzeniu pythona w wersji SQLite nadal daje '3.6.20', a tutaj jak próbuję sudo LD_RUN_PATH=to daje mi błąd No such file or directory, ale kiedy go wykonuję bez sudo LD_RUN_PATH=, pomyślnie się kompiluje, ale nadal daje mi SQLite „3.6.20” (skompilowany Python bez odinstalowywania).
Uwaga: mam wiele wersji Python3.
Co mogę zrobić, aby rozwiązać ten problem?
Odpowiedzi
Kiedy to zrobiłem (szczególnie próbując znaleźć sposób na zaktualizowanie sqlite3 dla działającego programu w Pythonie; nie działało ...), skompilowałem sqlite i otrzymałem libsqlite3.so.0.8.6, a następnie zastąpiłem systemowy sqlite3 na że. Dla mnie na Debianie było to w / usr / lib / x86_64-linux-gnu. Widziałem (chociaż teraz nie mogę znaleźć miejsca), że ten sposób może powodować problemy podczas aktualizacji w przyszłości. Zaktualizował jednak dla mnie sqlite3 w Pythonie.
Możesz importować określone wersje:
__requires__= 'sqlite3==3.6.20'
import pkg_resources
pkg_resources.require("sqlite3==3.6.20")
import sqlite
Pamiętaj, że działa to tylko przy pierwszym imporcie. Jeśli sqlite zostanie zaimportowane przed pkg_resources, zajmie najnowszą wersję.