В ArcGIS Enterprise 10.5 и новее среда conda на базе Python 3 встроена в ArcGIS Server.
Установка Python для ArcGIS Server включает пакеты, такие как numpy и matplotlib. Однако, если необходимо установить дополнительные пользовательские пакеты Python, выполните приведенные ниже действия.
Сервисы, опубликованные из ArcGIS Pro
Как и ArcGIS Pro, ArcGIS Server использует conda для управления средами Python. Начиная с ArcGIS Server 10.7.1, вы можете задавать среду Python для всех сервисов геообработки. Начиная с ArcGIS Server 10.8.1, вы можете задавать среду Python для отдельного сервиса геообработки.
Следующие шаги используются для сервисов геообработки, опубликованных из ArcGIS Pro или с помощью ArcPy. Более подробную информацию о среде Python в ArcGIS Pro см.в разделе Python в ArcGIS Pro. Рекомендуется клонировать среду Python по умолчанию для проведения обновлений. Одновременно только одна среда Python может быть активирована для ArcGIS Server.
Дополнительные сведения об использовании и работе с conda см. в разделе Введение в conda.
Настройка среды Python для всех сервисов геообработки
Для развертывания сторонних пакетов Python на ArcGIS Server выполните для каждого компьютера сайта следующие шаги:
- Войдите на компьютер ArcGIS Server под учетной записью ArcGIS Server и откройте окно командной строки от имени администратора. Вы можете войти в систему в качестве администратора и использовать Runas с учетной записью ArcGIS Server для запуска приложения conda на шаге 3.
- Измените директорию на <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts.
- Клонируйте среду Python сервера по умолчанию с новым именем, например, newenvname, в директорию установки среды ArcGIS Server Python, используя команду conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname". Замените префикс на имя вашей папки установки и имя новой среды.
- Чтобы активировать клонированную среду, запустите proswap newenvname.
- Установите сторонние пакеты Python, запустив conda install. Используйте pip install, только если conda install не доступен.
- Перезапустите сервис ArcGIS Server. На перезапуск сервисов может потребоваться несколько минут.
- Повторите шаги с 1 по 6 на всех других компьютерах вашего сайта ArcGIS Server для развертывания на нескольких компьютерах.
Добавление дополнительных пакетов
Чтобы добавить дополнительные пакеты к имеющейся среде conda, выполните следующие шаги:
- Войдите в свой компьютер ArcGIS Server. Вам могут понадобиться права администратора - в зависимости от местоположения вашей среды conda.
- В меню Пуск откройте Python 3 Command Prompt. Он может находиться в папке ArcGIS Server, в зависимости от ОС. Если его нет в меню Пуск, можно запустить файл proenv.bat из папки <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts.
- Запустите conda install для пакетов, которые необходимо развернуть. Используйте pip install, только если conda install не доступен.
- Перезапустите сервисы геообработки в ArcGIS Server Manager.
- Можно перезапустить сервис ArcGIS Server. Все службы будут перезапущены через несколько минут.
- Повторите шаги с 1 по 5 на каждом компьютере вашего сайта ArcGIS Server, если у вас есть развертывание на нескольких компьютерах.
Настройка среды Python для отдельного сервиса геообработки
Клонируйте среду Python сервера по умолчанию, установите сторонние пакеты Python и измените свойства сервиса геообработки, выполнив следующие шаги:
- Войдите на компьютер ArcGIS Server и откройте из меню Пуск Python 3 Command Prompt. Рекомендуется запускать командную строку от имени администратора, в противном случае вы не сможете клонировать среду в определенные каталоги.
- Клонируйте среду Python сервера по умолчанию с новым именем, например, newenvname, в директорию установки среды ArcGIS Server Python, используя команду conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname". Замените префикс на имя вашей папки установки и имя новой среды. Чтобы клонировать среду в любые другие каталоги за пределами каталога установки ArcGIS Server, выполните conda create --clone arcgispro-py3 --prefix "<fullpath>\outsideenvname".
- Активируйте новую среду в окне командной строки с помощью activate newenvname. Если вы используете каталог за пределами каталога ArcGIS Server среды установки Python, укажите полный путь к вашей клонированной среде с помощью activate <fullpath>\outsideenvname.
- Установите пакеты Python с conda install packagename=version. Это необязательно, но рекомендуется для выравнивания версии пакета, используемой в ArcGIS Pro в процессе публикации, и версии пакета, установленной на сервере.
- Когда все пакеты будут установлены, перейдите в administrator directory ArcGIS Server. В Ресурсы в нижней части страницы найдите сервисы.
- Выберите сервис геообработки, для которого вы желаете настроить среду Python.
- В разделе Поддерживаемые операции внизу этой страницы щелкните Редактировать.
- В сервисе JSON добавьте пару ключ-значение "condaEnvironmentPath": "newenvname" или "condaEnvironmentPath": "<full path to newenvname>" в свойства сервиса, если ваша клонированная среда ArcGIS Server находится в каталоге среды установки Python. Если вы используете каталог за пределами каталога ArcGIS Server среды установки Python, укажите полный путь к вашей клонированной среде. Упрощенный параметр сервиса JSON, включающий новый параметр condaEnvironmentPath, выглядит так:
Развертывание пользовательских пакетов Python для ArcGIS Server Simplified service properties with a cloned Python environment in the ArcGIS Server installation's Python environment directory.
{ "serviceName": "gvonly", "type": "GPServer", "description": "", "allowedUploadFileTypes": "", "properties": { "toolbox": "C:\\arcgisserver\\directories\\arcgissystem\\arcgisinput\\gvonly.GPServer\\extracted\\p30\\gvonly.tbx", "condaEnvironmentPath": "newenvname", "showMessages": "INFO" }, "portalProperties": { "isHosted": false, "portalItems": [{ "itemID": "4921223df97744a593d0b776666b9da9", "type": "GPServer" }] }, "extensions": [{ "typeName": "WPSServer", "properties": { "serviceType": "", "name": "" } }], "frameworkProperties": {}, "datasets": [] }
- Щелкните кнопку Сохранить изменения, чтобы сохранить новый параметр.
Сервис будет автоматически перезапущен.