Ich habe ein paar Python-Addins entwickelt und frage mich nur, wie ich das Addin am besten neu kompilieren kann, wenn ich das Skript bearbeite.
Derzeit scheint es, als müsste ich das Skript bearbeiten
- Schließen Sie ArcMap
- Gehen Sie zum Ordner "Mein Add-In" und doppelklicken Sie auf die Python-Datei "makeaddin"
- Doppelklicken Sie auf die Python-Add-In-Datei
- Starten Sie ArcMap neu, damit die Änderungen wirksam werden
Wenn ich diese Schritte nicht durchführe, werden die Änderungen nicht erkannt. Das wird ziemlich nervig und zeitaufwändig, wenn ich vielleicht irgendwo eine einfache Druckzeile platzieren oder eine kleine Änderung vornehmen möchte, um ein Ergebnis zu testen.
Gibt es einen besseren Weg, dies zu tun?
Per @ blah238 Vorschlag das folgende Skript
In dem Verzeichnis speichern, das makeaddin.py enthält:
quelle
arcmap = "C:/Program Files (x86)/ArcGIS/Desktop10.3/bin/ArcMap.exe"
und hinzuMap = '"{0}" {1} /s'.format(arcmap, mapdoc)
. Dannos.system(Map)
wird es gelingen, woos.system(mapdoc)
nicht.Ich habe auf der ArcGIS-Website eine Antwort erhalten. Anscheinend ist dies die einzige Möglichkeit, Python-Addins neu zu kompilieren. Jemand hat eine Idee zu ArcGIS Ideas protokolliert, und ich habe sie ebenfalls bewertet und kommentiert.
Der ArcGIS Discussion Forum-Thread befindet sich hier .
quelle
Im Allgemeinen verwende ich zwei Ansätze: Zum einen lassen Sie zu, dass Tools, die eigentlich nur Geoverarbeitung sind, importiert werden. Anschließend können Sie eine interaktive Python-Sitzung einrichten und
reload(mymodule)
wie erwähnt die neuesten Änderungen (oder Einstellungen) vornehmen Autoreload in IPython ). Wenn Sie nur Änderungen an einer Python-Toolbox vornehmen, können Sie die Toolbox neu laden, indem Sie in der Katalogansicht mit der rechten Maustaste darauf klicken und auf "Aktualisieren" klicken.Für Code, der Benutzerinteraktion in der GUI erfordert, verwende ich das folgende Stapelskript, um den Prozess zu beschleunigen:
Wobei myaddin.mxd Datenebenen und Kontexte enthält, die ich für das jeweilige Projekt verwende. Dadurch werden die Add-In-Installation und ArcMap gleichzeitig gestartet. Normalerweise kann ich jedoch schneller auf die Schaltfläche "Add-In installieren" klicken, als ArcGIS gestartet wird. Alternativ können Sie
pause
vor dem letzten Befehl einen Befehl hinzufügen , um vor dem Starten von ArcGIS auf die Eingabe zu warten.quelle
ESRIRegAddIn.exe
mit dem/s
Schalter der Add-In automatisch installiert werden . Der Pfad zu ESRIRegAddIn auf meinem Computer lautetC:\Program Files (x86)\Common Files\ArcGIS\bin
.