J'ai mis à jour QGIS vers la version 3.6 à l'aide d'OSGEO4w
Lorsque j'essaie d'exécuter un script GRASS, j'obtiens le message d'erreur suivant:
Cet algorithme ne peut pas être exécuté :-( Le dossier GRASS 7 spécifié "C: \ OSGEO4 ~ 1 \ bin \ bin" ne contient pas un ensemble valide de modules GRASS 7. Veuillez aller dans la boîte de dialogue Paramètres de traitement et vérifier que le GRASS Le dossier 7 est correctement configuré
Il semble que le chemin n'existe pas, mais je n'ai pas trouvé d'endroit pour le changer; ce n'est plus une option dans les paramètres de traitement comme dans les versions 2.x.
Existe-t-il un moyen d'exécuter ces scripts de traitement dans QGIS 3.6 et si oui, comment pourrais-je modifier les paramètres nécessaires?
Modifier: voici à quoi ressemblent mes options de traitement
Réponses:
Si j'ouvre QGIS avec le raccourci "QGIS Desktop 3.6.0 avec GRASS 7.6.0", tout fonctionne bien. Si j'ouvre QGIS avec le raccourci "QGIS Desktop 3.6.0" j'obtiens la même erreur que vous
la source
grass
package avec OSGEO4w.QGIS Desktop x.x.x with GRASS x.x.x
tout l' option. Je n'ai que l'QGIS Desktop
option. Qu'est-ce qui ne va pas?call "%OSGEO4W_ROOT%\apps\grass\grass78\etc\env.bat"
à mon fichier batch qgis, et les outils Grass fonctionnent. Bien sûr, le chemin doit être correct et la ligne doit venir après cette lignecall "%~dp0\o4w_env.bat"
J'ai eu le même problème mais j'ai réussi à le résoudre en renommant mon dossier grass de "grass76" en grass-7.6.0 ".
la source
Concernant une partie de votre question
vous pouvez gérer le chemin du dossier GRASS de travail via
Basé sur la version QGIS 3.0.3
où vous pouvez ajuster le
'GRASS7 folder'
, double-cliquez simplement dessus.Et en passant, GRASS fonctionne très bien sur ma version QGIS 3.0.3.
la source
Sur la base de cet article grasswiki , la définition de la variable d'environnement du système d'exploitation GISBASE dans le dossier d'installation de GRASS peut résoudre le problème (par exemple C: \ OSGeo4W \ apps \ grass \ grass76).
Les options de traitement de QGIS 3.8 ne contiennent toujours pas d'option pour le dossier GRASS.
Je me réfère au système d'exploitation Windows et à QGIS 3.8 / GRASS 7.6.
la source
Pour moi, il semble que certaines variables d'environnement manquent lors du démarrage des qgis "normaux". J'ai corrigé cela dans QGIS 3.4.13 en changeant qgis-ltr-bin.env et qgis-ltr.bat . Dans les versions 3.6, 3.8 (...) ces deux fichiers auront un nom différent mais similaire. Si vous
clic droit sur l'icône de démarrage de qgis> chemin du fichier ouvert
cela devrait vous conduire à ... \ OSGeo4W64 \ bin ou partout où vous avez installé qgis. Vous y trouverez les deux fichiers. Ouvrez-les avec un éditeur de texte standard (par exemple le bloc-notes) pour apporter des modifications:
qgis-ltr-bin.env :
dans qgis-ltr.bat :
call "%OSGEO4W_ROOT%\apps\grass\grass78\etc\env.bat"
(peut-être que le dossier grass a un nom différent dans votre version)la source
Même correction que @Friedemann fonctionnait dans QGIS 3.10 avec le dossier C: \ OSGeo4W64 \ apps \ grass \ grass78 changé en C: \ OSGeo4W64 \ apps \ grass \ grass-7.8.0MISE À JOUR: le correctif de changement de nom de dossier simple a permis aux fonctions de la boîte à outils Grass de s'ouvrir dans QGIS 3.10. Cependant, une fois exécutées, les opérations GRASS ont toutes échoué avec l'erreur suivante dans le journal:
J'ai donc essayé de définir la variable d'environnement Windows (en utilisant le nom du dossier GRASS revenu à 'grass78'), comme décrit dans une autre réponse, et les opérations GRASS s'exécutent désormais correctement dans QGIS. Cela semble être la bonne solution.
la source
Une autre solution pour utiliser GRASS dans le traitement de ToolBox (avec QGIS) est de trouver dans
C:\OSGeo4W64\apps\qgis\python\processing\algs\grass7\
le fichierGrass7Utils.py
et de remplacer les termes:grass-7.
pargrass7
dans le code situé à la ligne 223 ou aux alentoursfor version in ['', '7', '76', '74', '72', '71', '70']:
"parfor version in ['', '7', '78', '76', '74', '72', '71', '70']:
dans le code situé à la ligne 229 ou environ.la source