Python в ArcGIS Pro

Python является независимым, межплатформенным, открытым языком программирования. Он широко используется и поддерживается. Более подробно о Python вы узнаете, посетив веб-сайт Python.

Python был представлен сообществу ArcGIS в версии ArcGIS 9.0. С тех пор он использовался в качестве одного из языков для написания скриптов, содержащих процессы геообработки; область его применения продолжает расширяться.

Изучение Python

Помимо справки к ArcGIS Pro Python, вам могут оказаться полезными уроки ArcGIS Learn Изучение Python в ArcGIS Pro и книги издательства Esri Press за авторством Paul A. Zandbergen, независимо от вашего уровня подготовки:

Для получения дополнительной информации об ArcPy рекомендуем вам обратиться к руководству по языку Python, входящему в комплект поставки. Существует большое количество книг по Python и его применению, новая литература о этому языку выходит регулярно, так что изучайте доступные вам книги. На веб-сайте Python вы найдете полную документацию по Python, однако, она является довольно краткой и ориентированной на разработчиков. Есть огромное сообщество Python с большим количеством доступных на главной странице Python онлайн-ресурсов.

Руководства пользователей Python

Если вы новичок в Python, рекомендуется изучить перечисленные здесь руководства:

Учебники по Python для программистов

Содержание учебников, перечисленных здесь, рассчитано на пользователей, имеющих опыт программирования на других языках:

Conda

Python является основным языком автоматизации в ArcGIS Pro, в основном благодаря его расширяемости и гибкости. Второй причиной является то, что язык Python становится одним из самых широко используемых языков программирования в целом. Python Руководство пользователя содержит много предустановленных пакетов, которые могут использоваться в ArcGIS. Однако принятие решения о том, какие из них следует установить, может оказаться непростой задачей, для решения которой требуется время, особенно при работе над несколькими проектами или при попытке поделиться кодом с коллегами.

Чтобы справиться с этим многообразием, сообщество программистов Python разработало методы, позволяющие создавать проекты в разных версиях Python и упрощающие процесс установки почти всех публично доступных библиотек Python. Conda - это популярный и широко распространенный менеджер пакетов Python.

Функциональность conda внедрена в ArcGIS Pro с помощью Менеджера пакетов. Менеджер пакетов помогает избежать множества сложностей, возникающих при написании кода Python. Он направлен на поддержку установки библиотек с открытым кодом и библиотек сторонних компаний, которые связаны с отдельным проектом, более чем на базовую установку Python. Это упрощает процесс успешной публикации сложных инструментов Python на нескольких компьютерах.

Запустите Python

Python можно запускать интерактивно из ArcGIS Pro, используя окно Python или ArcGIS Notebooks. Окно Python представляет собой строку, из которой можно запускать небольшие фрагменты кода Python. ArcGIS Notebooks основаны на архитектуре Jupyter Notebook и предлагают богатую среду, в которой можно хранить код, визуализацию и описательный текст вместе в одном документе, и выполнять их.

Скрипты Python (файлы с расширением .py) можно запускать и вне приложения ArcGIS Pro. Подразделы, приведенные ниже, описывают способы запуска скриптов Python вне приложения с корректным активированным параметром среды ArcGIS Pro Python 3 conda.

Запуск из командной строки

Чтобы запустить Python из командной строки, выполните следующее:

"%PROGRAMFILES%\ArcGIS\Pro\bin\Python\Scripts\propy"
Примечание:

Все показанные пути предполагают установку ArcGIS Pro на компьютер (для всех пользователей). Если ArcGIS Pro был установлен для текущего пользователя, замените %LOCALAPPDATA% на %PROGRAMFILES%.

Чтобы запустить скрипт Python из командной строки (аргументы можно добавить после расширения .py), введите следующее:

"C:\Program Files\ArcGIS\Pro\bin\Python\Scripts\propy" myscript.py

Запустите параметр среды ArcGIS Pro Python 3 conda:

"%PROGRAMFILES%\ArcGIS\Pro\bin\Python\Scripts\proenv"

Запуск из пакетного файла

Чтобы запустить скрипт Python из файла .bat, используйте call на propy:

@echo Run my Python script
call "%PROGRAMFILES%\ArcGIS\Pro\bin\Python\Scripts\propy" myscript.py
@echo Finished

Запуск задачи по расписанию

При запуске скрипта Python как запланированной задачи, программа или скрипт должны быть C:\PROGRA~1\ArcGIS\Pro\bin\Python\Scripts\propy, и аргументы должны включать полный путь скрипта Python.

Ярлыки

Используйте следующие клавиши для доступа к Python:

Клавиши быстрого доступаОписание

Коммандная строка Python

Открывает окно командной строки, инициализированной с текущей средой conda. Для запуска интерактивного сеанса Python введите python. Чтобы запустить скрипт Python, введите python и путь к файлу .py.

Интерактивный терминал Python

Открывает сессию Python с текущей средой conda.

Python IDE

Большинство современных интегрированных сред разработки (IDE) Python можно легко использовать с conda, настроив версию Python, которую использует IDE. Основной шаг включает перенаправление IDE на использование корректного файла Python.exe внутри установки ArcGIS Pro. Для настройки нескольких общих IDE, см. раздел Использование IDE документации conda или документацию соответствующей IDE.

Python IDLE можно запускать из среды conda, введя idle.

Переход

Если вы переносите код Python, созданный в версии ArcGIS Desktop (или ArcGIS Server, или ArcGIS Engine), обратитесь к разделу Переход Python с 10.x на ArcGIS Pro. Основное различие заключается в том, что ArcGIS Pro использует Python 3, а другие продукты ArcGIS - Python 2, и некоторые инструменты самого модуля ArcPy различаются. Например, модуль arcpy.mapping заменен на модуль arcpy.mp.

Решение проблем

ArcPy должен быть запущен внутри среды conda, которую ArcGIS Pro использует для управления текущей установкой Python. Работать с этой средой можно, открыв Python по ссылкам в группе меню Пуск либо запустив proenv в терминале.

Если среда conda открыта в командном окне без прав администратора, появится сообщение о том, что у вас недостаточно прав. Закройте командное окно, заново откройте его от имени администратора.

Авторизация Python вне приложения

При запуске скриптов Python, использующих функциональность ArcGIS Pro вне приложения ArcGIS Pro, таких как Python IDE, из командной строки или при запуске скриптов через запланированные задачи, необходимо выполнение одного из следующих условий:

  • Подключать автоматически включено при входе в ArcGIS Pro.
  • ArcGIS Pro в настоящий момент открыт.
  • ArcGIS Pro был авторизован для автономной работы.
  • ArcGIS Pro настроен с Плавающей лицензией, и по крайней мере одна лицензия доступна в ArcGIS License Manager.
Примечание:

Если одно из указанных выше условий не выполняется, то вы столкнетесь с исключением RuntimeError: NotInitialized при импорте arcpy или arcgisscripting.

Более подробно о лицензировании ArcGIS Pro

Связанные разделы