Skip To Content

Развертывание пользовательских пакетов Python для ArcGIS Server

В 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 выполните для каждого компьютера сайта следующие шаги:

  1. Войдите на компьютер с ArcGIS Server и откройте окно командной строки от имени администратора.
  2. Измените директорию на <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts.
  3. Клонируйте среду сервера по умолчанию Python с новым именем среды. Предлагаемое расположение находится в параметрах среды Python каталога установки ArcGIS Server. Запустите команду conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname" --pinned --no-shortcuts, используя пример newenvname. Замените префикс на имя вашей папки установки и имя новой среды. В качестве альтернативы вы можете указать расположение за пределами каталога установки.
  4. Чтобы активировать клонированную среду, запустите conda proswap -n newenvname --all-users. Задание аргумента --all-users необязательно, если вы вошли на свой компьютер как пользователь учетной записи ArcGIS Server; в противном случае это обязательный аргумент. Если ваша клонированная среда conda находится вне предполагаемого местоположения, укажите полный путь к этому местоположению, используя conda proswap -p "<full-path-to-cloned-directory>" --all-users.
  5. Установите сторонние пакеты Python, запустив conda install. Используйте pip install, только если conda install не доступен.
  6. Перезапустите сервис ArcGIS Server. На перезапуск сервисов может потребоваться несколько минут.
  7. Повторите шаги с 1 по 6 на всех других компьютерах вашего сайта ArcGIS Server для развертывания на нескольких компьютерах.

Добавление дополнительных пакетов

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

  1. Войдите в свой компьютер ArcGIS Server. Вам могут понадобиться права администратора - в зависимости от местоположения вашей среды conda.
  2. В меню Пуск откройте Python 3 Command Prompt. Он может находиться в папке ArcGIS Server, в зависимости от ОС. Если его нет в меню Пуск, можно запустить файл proenv.bat из папки <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts.
  3. Запустите conda install для пакетов, которые необходимо развернуть. Используйте pip install, только если conda install не доступен.
  4. Перезапустите сервисы геообработки в ArcGIS Server Manager.
  5. Можно перезапустить сервис ArcGIS Server. Все службы будут перезапущены через несколько минут.
  6. Повторите шаги с 1 по 5 на каждом компьютере вашего сайта ArcGIS Server, если у вас есть развертывание на нескольких компьютерах.

Настройка среды Python для отдельного сервиса геообработки

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

  1. Войдите на компьютер ArcGIS Server и откройте из меню Пуск Python 3 Command Prompt. Рекомендуется запускать командную строку от имени администратора, в противном случае вы не сможете клонировать среду в определенные каталоги.
  2. Клонируйте среду Python сервера по умолчанию с новым именем, например, newenvname, в директорию установки среды ArcGIS Server Python, используя команду conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname" --pinned --no-shortcuts. Замените префикс на имя вашей папки установки и имя новой среды. Чтобы клонировать среду в любые другие каталоги за пределами каталога установки ArcGIS Server, выполните conda create --clone arcgispro-py3 --prefix "<fullpath>\outsideenvname" --pinned --no-shortcuts.
  3. Активируйте новую среду в окне командной строки с помощью activate newenvname. Если вы используете каталог за пределами каталога ArcGIS Server среды установки Python, укажите полный путь к вашей клонированной среде с помощью activate <fullpath>\outsideenvname.
  4. Установите пакеты Python с conda install packagename=version. Это необязательно, но рекомендуется для выравнивания версии пакета, используемой в ArcGIS Pro в процессе публикации, и версии пакета, установленной на сервере.
  5. Когда все пакеты будут установлены, перейдите в administrator directory ArcGIS Server. В Ресурсы в нижней части страницы найдите сервисы.
  6. Выберите сервис геообработки, для которого вы желаете настроить среду Python.
  7. В разделе Поддерживаемые операции внизу этой страницы щелкните Редактировать.
  8. В сервисе 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": []
    }

  9. Щелкните кнопку Сохранить изменения, чтобы сохранить новый параметр.

Сервис будет автоматически перезапущен.