Pracuję nad kilkoma dodatkami do Pythona i zastanawiam się, jaki jest najlepszy sposób na ponowne skompilowanie tego dodatku za każdym razem, gdy edytuję skrypt.
Obecnie, jeśli dokonam edycji skryptu, wydaje się, że muszę
- Zamknij ArcMap
- Przejdź do folderu Mój dodatek i kliknij dwukrotnie plik python „makeaddin”
- Kliknij dwukrotnie „Plik dodatku Python
- Uruchom ponownie ArcMap, aby zmiany zostały wprowadzone
Jeśli nie wykonam tych kroków, zmiany nie zostaną rozpoznane. To staje się dość irytujące i czasochłonne, gdy chcę gdzieś umieścić prostą linię drukowania lub wykonuję małą edycję, aby przetestować wynik.
Czy jest na to lepszy sposób?
źródło
Według sugestii @ blah238 następujący skrypt
Zapisz w katalogu zawierającym makeaddin.py:
źródło
arcmap = "C:/Program Files (x86)/ArcGIS/Desktop10.3/bin/ArcMap.exe"
iMap = '"{0}" {1} /s'.format(arcmap, mapdoc)
powyżej. Wtedyos.system(Map)
odniesie sukces tam, gdzieos.system(mapdoc)
nie.Otrzymałem odpowiedź na stronie ArcGIS. Najwyraźniej jest to jedyny sposób na ponowne skompilowanie dodatków do Pythona. Ktoś zalogował pomysł w ArcGIS Ideas a ja także głosowałem i skomentowałem.
Wątek Forum dyskusyjnego ArcGIS znajduje się tutaj .
źródło
Zasadniczo używam dwóch podejść: jednym z nich jest to, że dla wszystkich używanych narzędzi, które są po prostu procesem geoprzetwarzania, zezwól na ich importowanie, a następnie możesz skonfigurować interaktywną sesję Pythona i zrobić,
reload(mymodule)
jak wspomniano, aby uwzględnić najnowsze zmiany (lub skonfigurować autoreload w IPython ). Jeśli dokonujesz tylko zmian w przyborniku Python, możesz przeładować przybornik, klikając go prawym przyciskiem myszy w widoku katalogu i klikając „Odśwież”.W przypadku kodu wymagającego interakcji użytkownika w GUI używam następującego skryptu wsadowego, aby przyspieszyć proces:
Gdzie myaddin.mxd ma warstwy danych i kontekst, których używam do konkretnego projektu. Spowoduje to jednoczesne uruchomienie instalacji dodatku i ArcMap, ale zwykle mogę kliknąć przycisk „Zainstaluj dodatek” szybciej niż ArcGIS się uruchomi. Alternatywnie możesz dodać
pause
przed ostatnim poleceniem, aby czekać na dane wejściowe przed uruchomieniem ArcGIS.źródło
ESRIRegAddIn.exe
z/s
przełącznika, aby zainstalować dodatek cicho. Ścieżka do ESRIRegAddIn na moim komputerze toC:\Program Files (x86)\Common Files\ArcGIS\bin
.