Suite

Quel est le moyen le plus simple de tester les compléments python avec ArcGIS 10.1 + ?

Quel est le moyen le plus simple de tester les compléments python avec ArcGIS 10.1 + ?


J'essaie de développer un complément Python pour ArcGIS 10.3 et je trouve le débogage assez laborieux. Au moment où je modifie mon script python, je dois procéder comme suit :

  1. Fermer ArcMap
  2. Supprimer le fichier "Python_Addins.esriadin" dans mon répertoire d'installation par défaut
  3. double-cliquez sur le fichier "makeaddin.py" pour créer un autre fichier "Python_Addins.esriadin"
  4. Installer le complément
  5. Redémarrez ArcMap et démarrez le projet
  6. Tester l'outil

Cela ne peut certainement pas être le seul moyen de tester un complément python dans ArcMap.


Malheureusement, il n'est pas possible de "recharger" le complément Python pendant que la session ArcMap est ouverte. C'est parce que le complément est chargé dans le cache du programme. Ainsi, la seule façon de voir les modifications apportées est de fermer ArcMap, d'installer un nouveau complément, puis de démarrer ArcMap (à mesure que vous vous en approchez maintenant).

Vous devriez passer la plupart de votre temps à déboguer et développer le complément dans votre IDE, pas dans ArcMap. Il n'y a que quelques composants GUI que vous pouvez tester dans ArcMap ; tout le code peut être testé assez bien dans l'IDE sans impliquer l'ArcMap.

Pour automatiser le processus de redémarrage d'ArcMap, j'ai utilisé pour exécuter une commande os directement depuis mon IDE (j'utilise Wing IDE). La commande fermera une session ArcMap, exécutera makeaddin.py, puis démarrera la session ArcMap. Pourvu que vous ayez une machine décente, l'ensemble de l'opération ne devrait pas prendre plus de quelques secondes (sur la mienne, c'est environ 5 secondes environ). Si ArcMap démarre lentement, envisagez de l'accélérer en travaillant avec un nouveau modèle ou en désactivant les extensions et modules externes.


Voir la vidéo: GIS Python: Count shape files and Select by Location 2 Real world ArcPy examples