Closed WREATCHED closed 8 months ago
Code J'ai modifier mes deux fonctions en fonction de ce que me retourne la troisième
#==================================================
# Obtenir des informations sur le système d'exploitation
def getOsInfo() : return ( platform.system(), platform.release() )
#==================================================
def updatePip() :
if getOsInfo()[0].upper() == "WINDOWS" :
si = subprocess.STARTUPINFO()
si.dwFlags |= subprocess.STARTF_USESHOWWINDOW
try:
if getOsInfo()[0].upper() == "WINDOWS" :
_sortie = subprocess.run(['python3', '-m', 'pip', 'install', '--upgrade', '--retries', '0', '--timeout', '5', '--quiet', '--quiet', '--quiet', 'pip'], check=True, startupinfo=si, env = getPathPip())
else :
_sortie = subprocess.run(['python3', '-m', 'pip', 'install', '--upgrade', '--retries', '0', '--timeout', '5', '--quiet', '--quiet', '--quiet', 'pip'], check=True, env=getPathPip())
except subprocess.CalledProcessError as err :
return False
return True
#==================================================
def updateRequierement(mPathPerso) :
if getOsInfo()[0].upper() == "WINDOWS" :
si = subprocess.STARTUPINFO()
si.dwFlags |= subprocess.STARTF_USESHOWWINDOW
try:
if getOsInfo()[0].upper() == "WINDOWS" :
_sortie = subprocess.run(['python3', '-m', 'pip', 'install', '-r', mPathPerso], check=True, startupinfo=si, env = getPathPip() )
else :
_sortie = subprocess.run(['python3', '-m', 'pip', 'install', '-r', mPathPerso], check=True, env=getPathPip())
except subprocess.CalledProcessError as err:
return False
return True
Test L'installation se passe bien avec juste un effet de bord d'ouverture des deux sessions DOS qui se referment toutes seules.
Super, merci ! Cela fonctionne pour moi, pas de fenêtre DOS qui s'ouvrent J'ai du installer python3-pyqt5.qtquick pour que cela fonctionne
J'ai pu importer une métadonnées depuis un catalogue
Par contre je n'ai pas réussi à importer depuis un fichier xml :
2023-10-18T10:35:34 WARNING Traceback (most recent call last): File "/home/xxxx/.local/share/QGIS/QGIS3/profiles/qgis-2_28/python/plugins/plume/plume_ui.py", line 62, in safe_pg_connection yield File "/home/xxxx/.local/share/QGIS/QGIS3/profiles/qgis-2_28/python/plugins/plume/plume_ui.py", line 391, in clickButtonsActions metagraph = importObjetMetagraphInspire(self) File "/home/xxxx/.local/share/QGIS/QGIS3/profiles/qgis-2_28/python/plugins/plume/bibli_plume.py", line 420, in importObjetMetagraphInspire MonFichierPath = os.path.join(os.path.join(os.environ['USERPROFILE']), 'Desktop') File "/usr/lib/python3.10/os.py", line 680, in getitem raise KeyError(key) from None KeyError: 'USERPROFILE'
During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/xxxx/.local/share/QGIS/QGIS3/profiles/qgis-2_28/python/plugins/plume/plume_ui.py", line 307, in clickButtonsActions with self.safe_pg_connection() : File "/usr/lib/python3.10/contextlib.py", line 153, in __exit__ self.gen.throw(typ, value, traceback) File "/home/lgranjon/.local/share/QGIS/QGIS3/profiles/qgis-2_28/python/plugins/plume/plume_ui.py", line 89, in safe_pg_connection zMess = str(err_Exception) + "\n" + str(traceback.format_tb(Exception.__traceback__)) File "/usr/lib/python3.10/traceback.py", line 57, in format_tb return extract_tb(tb, limit=limit).format() File "/usr/lib/python3.10/traceback.py", line 72, in extract_tb return StackSummary.extract(walk_tb(tb), limit=limit) File "/usr/lib/python3.10/traceback.py", line 364, in extract for f, lineno in frame_gen: File "/usr/lib/python3.10/traceback.py", line 329, in walk_tb yield tb.tb_frame, tb.tb_lineno AttributeError: 'getset_descriptor' object has no attribute 'tb_frame'
KeyError: 'USERPROFILE -> semble lié à windows
Par contre AttributeError: 'getset_descriptor' object has no attribute 'tb_frame' viendrait plutot de ma version de python en 3.10 j'ai l'impression
L'export n'est pas possible non plus
2023-10-18T10:39:05 WARNING Traceback (most recent call last): File "/home/xxxx/.local/share/QGIS/QGIS3/profiles/qgis-2_28/python/plugins/plume/plume_ui.py", line 1184, in _mObjetQMenuItem.triggered.connect(lambda : self.clickButtonsExportActions()) File "/home/xxxx/.local/share/QGIS/QGIS3/profiles/qgis-2_28/python/plugins/plume/plume_ui.py", line 428, in clickButtonsExportActions exportObjetMetagraph(self, self.schema, self.table, mItemExport, self.metagraph.available_export_formats(no_duplicate=True, format=mItemExport)) File "/home/xxxx/.local/share/QGIS/QGIS3/profiles/qgis-2_28/python/plugins/plume/bibliplume.py", line 370, in exportObjetMetagraph InitDir = os.path.join(os.path.join(os.environ['USERPROFILE']), 'Desktop') + "\" + "metadata" + str(schema) + "_" + str(table) + "" + export_extension_from_format(format) File "/usr/lib/python3.10/os.py", line 680, in getitem raise KeyError(key) from None KeyError: 'USERPROFILE'
Merci
Envoie d'une version de correction pour les chemins Windows vs Linux
Bonjour Tout semble parfaitement fonctionner : chargement du plugin, import, export Merci
Contexte Courriel du 17/10/2023 de Ludovic Granjon _Bonjour Je m'intéresse à votre plugin qgis plume Envisagez-vous une version utilisable sous Linux ? En vous remerciant pour votre retour Bonne journée Ludovic Granjon
Ludovic Granjon Géomaticien LEEISA UAR 3456 Centre de recherche de Montabo 275 route de Montabo BP 70620 - 97334 CAYENNE cedex_
Retours Il s'avère effectivement que les instructions subprocess.STARTUPINFO() pour mettre à jour les bibliothèques nécessaires au fonctionnement de Plume, ne sont pas reconnus sous Linux.
Solutions
En fonction de l'OS par exemple :
deviendrait
Il faudrait pouvoir tester sous cet environnement ?