Використовуючи панель інструментів python (.pyt) в ArcMap, я зазвичай дотримуюся шаблону, коли сам файл .pyt є просто обгорткою для збору вхідних аргументів та визначення самих інструментів. Підтримуючий код зберігається в окремих модулях, що перевіряються.
Приклад:
import supporting_module
class MyTool(object):
...
def execute(self, parameters, messages):
"""The source code of the tool."""
some_input = parameters[0].valueAsText
some_output = parameters[1].valueAsText
supporting_module.do_something(some_input, some_output)
arcpy.SetParameter(2, some_output)
Це дуже добре виходить, але я зіткнувся з одним неприємним питанням під час розвитку. Клацніть правою кнопкою миші -> Оновити .pyt в ArcMap лише оновить код файлу .pyt. Це не оновлює імпортовані модулі, тому мені доведеться закривати та повторно відкривати ArcMap, коли я щось там міняю. На щастя, оскільки я тестую код самостійно, мені не доведеться це робити багато, але це все-таки великі клопоти. Чи є спосіб обходити це? Дещо пов'язане - чи є спосіб повністю оновити консоль Python (у мене є власний сайт-пакет, який я також повинен закрити / повторно відкрити ArcMap, щоб також змінити зміни)?
Я використовую ArcMap 10.2.1.