Closed alhyss closed 1 year ago
Pas complètement d'accord. Là c'était la mise à jour qui manquait et donc update_lib aurait été à True . non ? Mais Ok pour rajouter cela
Dans ce cas de figure, c'est la première fois que Plume est installé, donc on peut présumer du fait que RDFLib n'est pas là du tout.
Il faut être clair alors sur le mot "Installation" Si c'est copier les fichiers physiquement alors Oui, mais si c'est à partir de Qgis avec le gestionnaire d'extension, à l'activation Qgis compile et créé les .PYC et donc cela devrait marcher. Installer le plugin avec copie et recopier avant de lancer Qgis le Qgis3.ini, c'est une manipulation dangereuse non ? Sommes nous d'accord ? le GO du stage me fait les gros yeux .......
J'avais plutôt en tête le cas où Plume a été installé proprement à partir du gestionnaire d'extensions. Mais dans tous les cas, l'installation des bibliothèques intervient après l'installation de Plume, lors de l'activation du plugin. Ça me semble donc indépendant de la manière dont Plume a été installé ?
La seule chose qui est présumée copiée dans cette histoire, c'est le QGIS3.ini
. Dans le cas de l'installation d'un nouveau poste de travail, c'est généralement fait par le technicien informatique, qui restaure \AppData
avec les données de l'ancien poste. Mais il me semble aussi légitime de le faire volontairement. C'est tout à fait normal pour un utilisateur de vouloir récupérer sa configuration antérieure, et normalement ça ne pose aucun problème, surtout quand la version de QGIS est la même.
Qu'est-ce que je n'ai pas compris ?
C'est que lorsque l'on installe à partir du gestionnaire, le plugin dans certains cas s'active aussitôt et donc compile
Mais que l'activation se fasse immédiatement ou seulement quand l'utilisateur la déclenche manuellement, ça ne change rien au fait que la même erreur va apparaître ?
Be non, puisque la copie a du se faire après sinon, les bibliothèques aurait été créées. sinon je ne comprends plus rien On ferait mieux d'en parler au téléphone
Le fichier QGIS3.ini
a été copié avant l'installation de Plume et les bibliothèques n'ont pas été créées, c'est bien tout le problème.
Tu as sans doute raison, ce serait plus efficace d'en parler de vive voix.
Méthode de test beaucoup plus propre qu'un import (qui risquerait de nous laisser des objets obsolètes en cache dans le cas où les bibliothèques sont ensuite mises à jour) :
if not 'rdflib' in sys.modules:
# lancer l'installation indépendamment de ce qui est écrit dans le QGIS3.ini
J'ai fait le boulot, ça marche mais du coup je découvre un pb fonctionnel à mon avis. on en parle plus tard
RESOLU
#--
update_lib = False
if not (mVersionPlume != mVersionPlumeBibli or mVersionPlume != mPython_version) :
try:
import plume.rdf.rdflib
except:
update_lib = True
#--
Au démarrage de Qgis, la solution sys.modules ne fonctionnait pas, car il lisait les variables d'environnement avoir d'avoir chargé celles de Qgis
Lorsqu'un utilisateur installe pour la première fois Plume en récupérant le fichier
QGIS3.ini
d'une installation antérieure avec les mêmes versions de QGIS et Plume, le contrôle effectué à l'activation de Plume pour déterminer si les bibliothèques Python ont besoin d'être installées/mises à jour détermine qu'aucune action n'est nécessaire, puisque, d'après les informations lues dans leQGIS3.ini
, Plume était déjà présent. Évidemment, les bibliothèques sont en fait absentes et Plume plante.Il serait souhaitable de réussir à détecter ce cas où les bibliothèques ne sont pas installées du tout, pour lancer leur installation indépendamment du
QGIS3.ini
. A priori c'est beaucoup plus simple que vérifier qu'il y a toutes les dépendances dans les bonnes versions.Même quelque chose comme ça devrait fonctionner, en ajoutant ensuite
update_lib
aux conditions d'activation du processus de mise à jour ?