Язык Python является независимым, межплатформенным, открытым языком программирования, быстрым, мощным и легким в освоении. Он широко используется и поддерживается. Более подробно о Python вы узнаете, посетив веб-сайт python.org
Python был представлен сообществу ArcGIS в версии ArcGIS 9.0. С тех пор он использовался в качестве одного из языков для написания скриптов, содержащих процессы геообработки; область его применения продолжает расширяться. Каждый выпуск расширял возможности Python и делал его использование все более удобным.
ESRI окончательно внедрил Python в ArcGIS и рассматривает этот язык в качестве основного средства, которое удовлетворит все потребности пользователей. Перечислим некоторые преимущества Python:
- Простота изучения и пригодность как для начинающих, так и для профессионалов
- Отлично масштабируемый, он подходит как для больших проектов, так и для маленьких одноразовых программ, известных как скрипты
- Портативность и межплатформенность
- Встариваемость (написание скриптов в ArcGIS)
- Стабильная и уверенная работа
- Большое сообщество пользователей
Переход
Если вы переносите код Python, созданный в версии ArcGIS Desktop (или ArcGIS Server или ArcGIS Engine), обратитесь к разделу Переход на Python для ArcGIS Pro. Основное различие заключается в том, что ArcGIS Pro использует Python 3, а другие продукты ArcGIS - Python 2, и некоторые инструменты самого модуля ArcPy различаются; например, модуль arcpy.mapping заменен на модуль arcpy.mp.
Изучение Python
Помимо справки к ArcGIS Pro Python, вам могут оказаться полезными книги издательства Esri Press за авторством Paul A. Zandbergen, независимо от вашего уровня подготовки:
Для получения дополнительной информации о ArcPy, рекомендуем вам обратиться к руководству по языку Python, входящим в комплект поставки. Для начинающих пользователей Python подходящими книгами мы считаем: Learning Python (Изучение Python), написанную Mark Lutz и David Ascher и изданную O’Reilly & Associates, а также Core Python Programming (Основы программирования на Python) за авторством Wesley J. Chun, изданную Prentice Hall. Эти издания являются хорошим введением в Python, не слишком сложным и не перегруженным лишней информацией. Существует большое количество книг по Python и его применению, новая литература о этому языку выходит регулярно, так что изучайте доступные вам книги. На веб-сайте Python вы найдете полную документацию по Python, к сожалению она является довольно краткой и ориентированной на разработчиков. Есть огромное сообщество Python с большим количеством доступных на главной странице Python онлайн-ресурсов.
Учебные руководства Python
Если вы новичок в Python, рекомендуется изучить перечисленные здесь руководства:
- Руководство пользователя Python является частью документации Python.
- Python для не программистов содержит руководство по работе, ориентированное на пользователей с небольшим опытом программирования.
- Справочник по языку Python описывает синтаксис и семантику языка Python.
Учебники по Python для программистов
Содержание учебников, перечисленных здесь, рассчитано на пользователей, имеющих опыт программирования на других языках (Perl, Visual Basic, C):
- Руководство пользователя Python является частью документации Python.
- Python для программистов содержит руководство по работе, ориентированное на пользователей с опытом программирования на других языках.
Conda
Python является основным языком автоматизации как для ArcGIS 10.x, так и для ArcGIS Pro, в основном благодаря его расширяемости и гибкости. Второй причиной является то, что язык Python становится одним из самых широко используемых языков программирования в целом. Python имеет множество предварительно установленных библиотек, которые могут быть использованы в ArcGIS, но принятие решения о том, какие из них следует установить, может оказаться непростой задачей, для решения которой требуется время, особенно при работе над несколькими проектами или при попытке поделиться кодом с коллегами.
Чтобы справиться с этим многообразием, сообщество программистов Python разработало методы, позволяющие создавать проекты в разных версиях Python и упрощающие процесс установки почти всех публично доступных библиотек Python. Conda – это наиболее популярный и чаще всего используемый менеджер библиотек Python.
Функциональность conda внедрена ArcGIS Pro с помощью Менеджера пакетов Python Package Manager. Менеджер пакетов Python Package Manager помогает избежать множества сложностей, возникающих при написании кода 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) можно легко использовать с conda, настроив версию Python, которую использует IDE. Основной шаг включает перенаправление IDE на использование корректного файла Python.exe внутри установки ArcGIS Pro. Для настройки нескольких общих IDE, см. раздел Использование IDE или документацию для определенной версии IDE.
Python IDLE можно запускать из среды conda, введя idle.
Решение проблем
ArcPy должен быть запущен внутри среды conda, которую ArcGIS Pro использует для управления текущей установкой Python. Работать с этой средой можно, запустив Python, выбрав ArcGIS > ArcGIS Pro в группе меню start либо запустив proenv в терминале.
Если среда conda открыта в командном окне без прав администратора, появится сообщение о том, что у вас недостаточно прав. Закройте командное окно, заново откройте его, выбрав Run as administrator.
Авторизация Python вне приложения
При запуске скриптов Python, использующих функциональность ArcGIS Pro вне приложения ArcGIS Pro, таких как Python IDE, из командной строки или при запуске скриптов через запланированные задачи, необходимо выполнение одного из следующих условий:
- Подключать автоматически включено при входе в ArcGIS Pro.
- ArcGIS Pro открыт в настоящий момент.
- ArcGIS Pro был авторизован для автономной работы.
Примечание:
Если одно из указанных выше условий не выполняется, то вы столкнетесь с исключением RuntimeError: NotInitialized при импорте arcpy или arcgisscripting.
Более подробно о лицензировании ArcGIS Pro.