Skip To Content

Среда выполнения Python 3 для ArcGIS Server на Linux

В ArcGIS Server доступна опция использования среды выполнения Python 3 для скриптов ArcPy, запускаемых из командной строки. Python 3.x устанавливается вместе с ArcGIS Server, но вы можете установить отдельный пакет среды выполнения Python 3, который упрощает использование Python 3 с ArcGIS Server.

Примечание:

После ArcGIS Server 10.9.1 будет поддерживаться только Python 3 и Python 2.7 больше не будет устанавливаться.

Приступая к работе

Python предлагает сторонние библиотеки, которые вы можете использовать в ArcGIS, но принятие решения о том, какие из них следует установить, может оказаться непростой задачей, для решения которой требуется время, особенно при работе над несколькими проектами или при попытке поделиться кодом с коллегами. Чтобы упростить использование среды выполнения Python 3 в ArcGIS Server для Linux, используйте conda для загрузки и установки пакета arcgis-server-py3.

Если у вас еще нет conda, его можно скачать его с веб-сайта Anaconda.

Чтобы получить доступ к функциональности ArcGIS Python, включая ArcPy, установите пакет arcgis-server-py3. В среде conda используйте следующую команду для установки Python 3:

conda install -c esri arcgis-server-py3=<version>

Значение <version> указывает текущую версию библиотеки, которая совпадает с текущей версией ArcGIS Server, в формате n.n.n, например для ArcGIS Server 10.9.1:

conda install -c esri arcgis-server-py3=10.9.1

Установка пакета arcgis-server-py3 добавит ArcPy, включая поддерживаемые инструменты геообработки и сторонние требования.

Если вы не устанавливаете пакет arcgis-server-py3, вы должны вызывать Wine при запуске файла python.exe, установленного в /arcgis/server/framework/runtime/ArcGIS/bin/Python/envs/arcgispro-py3/ в каталоге установки ArcGIS Server.

Переход

Использование среды выполнения Python 3 с ArcGIS Server отличается от использования Python 2 с ArcGIS Server и другими продуктами ArcGIS, включая ArcMap. Вы должны учитывать два основных различия: различия внутри ArcPy и изменение версий Python.

Изменения функциональности в ArcPy

Большинство инструментов геообработки будут по-прежнему доступны в среде выполнения Python 3 для ArcGIS Server, но не все. Не будут доступны инструменты из наборов инструментов Набор данных участков (ArcMap), Schematics и Tracking Analyst. Также не будут доступны дополнительные инструменты в других наборах инструментов. Полный список поддерживаемых инструментов геообработки см. в файле readme, который включен в пакет arcgis-server-py3.

Модуль arcpy.mapping был удален и заменен модулем arcpy.mp в ArcGIS Pro. Модуль arcpy.na также включает изменения, большая часть которых связана с переходом с arcpy.mapping на arcpy.mp.

Изменение версии Python

Среда выполнения ArcGIS Server Python использует Python 3. Это существенное отличие, линейка версий Python 3 несовместима с линейкой Python 2. Хотя принципиально большая часть языка осталась той же самой, многие ключевые детали существенно изменились, в том числе то, как работают строки и словари и то, как организована стандартная библиотека.

В настоящее время сообщество Python перенесло большинство ключевых сторонних библиотек на Python 3, и в сообществе Python пришли к единому мнению, что все новые проекты разработки будут выполняться в Python 3.

Поскольку 10.9.1 является последней версией, включающей Python 2.7, вам необходимо начать обновлять свой код Python, чтобы он работал в Python 3. Если вы выполняете одностороннее преобразование кода из Python 2 в Python 3, вы можете использовать служебную программу командной строки 2to3. чтобы автоматизировать большую часть процесса. Важно заметить, что, хотя утилита 2to3 и является превосходным инструментом, она не предоставляет полного, законченного решения (иногда полученный эффект оценивается в 95 процентов от полного решения), и могут потребоваться дополнительные изменения.

Имейте в виду, что простые скрипты Python могут корректно работать без всяких изменений.