Closed alhyss closed 1 year ago
Réponse La solution a été de trouver où se trouve le path du pip.exe avec la fonction getPathPip
def getPathPip() :
return dict( os.environ, PATH = os.environ['PATH'] + ( (";" + QgsApplication.systemEnvVars()['PYTHONHOME'].replace("\\","/")
+ "/scripts") if 'PYTHONHOME' in QgsApplication.systemEnvVars() else "" ) )
puis de modifier l'environnement des lancements subprocess avec la variable env = getPathPip() dans les deux fonctions
def updatePip() :
si = subprocess.STARTUPINFO()
si.dwFlags |= subprocess.STARTF_USESHOWWINDOW
try:
_sortie = subprocess.run(['python3', '-m', 'pip', 'install', '--upgrade', '--retries', '0', '--timeout', '5', '--quiet', '--quiet', '--quiet', 'pip'], check=True, startupinfo=si, env = getPathPip())
except subprocess.CalledProcessError as err :
return False
return True
def updateRequierement(mPathPerso) :
si = subprocess.STARTUPINFO()
si.dwFlags |= subprocess.STARTF_USESHOWWINDOW
try:
_sortie = subprocess.run(['python3', '-m', 'pip', 'install', '-r', mPathPerso], check=True, startupinfo=si, env = getPathPip() )
except subprocess.CalledProcessError as err:
return False
return True
La DGTM-DEAAF Guyane indique n'avoir pas réussi à installer Plume avec la version de QGIS distribuée sur les postes de leurs agents (version 3.16, paquet mis à disposition par le ministère de l'intérieur). Les commandes
pip install
envoyées viasubprocess.run
et supposées permettre l'installation des bibliothèques python nécessaires au fonctionnement de Plume échouent, car l'exécutablepython.exe
est introuvable.