6 votes

Problème de mise à jour de la version de Sqlite3 sur CentOS pour Python

J'ai CentOS 6 sur mon système et j'essaie de mettre à jour SQLite pour Python. Je l'ai installé depuis les sources et j'ai exécuté sqlite --version rend la version 3.33.0 comme prévu.

Cependant, lorsque j'essaie de vérifier la version python de SQLite en utilisant import sqlite3; sqlite3.sqlite_version; J'obtiens toujours la version précédente de SQLite 3.6.20 .

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

J'ai essayé la solution aquí cela ne fonctionne pas du tout, après la mise à jour LD_LIBRARY_PATH et en vérifiant la version de python SQLite, on obtient toujours '3.6.20', et aquí quand j'essaie sudo LD_RUN_PATH= il me donne l'erreur No such file or directory mais lorsque je l'exécute sans sudo LD_RUN_PATH= Il compile avec succès mais me donne toujours SQLite '3.6.20' (python compilé sans désinstallation). changing LD_LIBRARY_PATH

Remarque : j'ai plusieurs versions de python3.

enter image description here

Que puis-je faire pour résoudre ce problème ?

0voto

Sarol Points 141

Lorsque je l'ai fait (en essayant spécifiquement de trouver un moyen de mettre à jour sqlite3 pour un programme python en cours d'exécution ; cela n'a pas fonctionné...), j'ai compilé sqlite et obtenu libsqlite3.so.0.8.6, puis j'ai remplacé sqlite3 par cette dernière. Pour moi, sur debian, c'était dans /usr/lib/x86_64-linux-gnu. J'ai vu (mais je ne sais plus où) que de cette façon mai causer des problèmes lors de la mise à jour dans le futur. Il a cependant mis à jour sqlite3 de python pour moi.

0voto

sbluhm Points 3

Vous pouvez importer des versions spécifiques :

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

Notez que cela ne fonctionne que lors de la première importation. Si sqlite est importé avant pkg_resources, il prendra la dernière version.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X