Я разработал несколько дополнений Python, и мне просто интересно, как лучше перекомпилировать надстройку каждый раз, когда я редактирую скрипт.
В настоящее время, если я внесу изменения в сценарий, мне кажется, что я должен
- Закрыть ArcMap
- Перейдите в папку «Мои надстройки» и дважды щелкните файл python «makeaddin»
- Дважды щелкните по файлу надстройки Python
- Перезапустите ArcMap, чтобы изменения вступили в силу
Если я не сделаю эти шаги, то изменения не будут распознаны. Это становится довольно раздражающим и отнимает много времени, когда я хочу разместить где-нибудь простую строку для печати или я делаю небольшую правку, чтобы проверить результат.
Есть ли лучший способ сделать это?
По предложению Per @ Blah238, следующий скрипт
Сохранить в каталог, содержащий makeaddin.py:
источник
arcmap = "C:/Program Files (x86)/ArcGIS/Desktop10.3/bin/ArcMap.exe"
иMap = '"{0}" {1} /s'.format(arcmap, mapdoc)
выше. Тогдаos.system(Map)
удастся, гдеos.system(mapdoc)
нет.Я получил ответ на сайте ArcGIS. По-видимому, это единственный способ перекомпилировать дополнения Python. Кто-то записал идею в ArcGIS Ideas, и я также проголосовал и прокомментировал.
Тема дискуссионного форума ArcGIS находится здесь .
источник
Я обычно использую два подхода: один для любых используемых вами инструментов, которые на самом деле являются просто геообработкой, позволяет импортировать их, а затем вы можете настроить интерактивный сеанс Python и сделать,
reload(mymodule)
как упоминалось, для включения самых последних изменений (или настроить автозагрузка в IPython ). Если вы просто вносите изменения в набор инструментов Python, вы можете перезагрузить набор инструментов, щелкнув по нему правой кнопкой мыши в представлении каталога и нажав «Обновить».Для кода, который требует взаимодействия с пользователем в графическом интерфейсе, я использую следующий пакетный скрипт для ускорения процесса:
Где myaddin.mxd имеет слои данных и контекст, который я использую для конкретного проекта. Это запустит установку надстройки и ArcMap одновременно, но я обычно могу нажать кнопку «Установить надстройку» быстрее, чем запустится ArcGIS. Кроме того, вы можете добавить
pause
перед последней командой ожидание ввода перед запуском ArcGIS.источник
ESRIRegAddIn.exe
с/s
выключателем, чтобы установить надстройку в автоматическом режиме. Путь к ESRIRegAddIn на моей машине естьC:\Program Files (x86)\Common Files\ArcGIS\bin
.