Skip To Content

Implementar paquetes de Python personalizados para ArcGIS Server

En ArcGIS Enterprise 10.5 y versiones posteriores, se incluye el entorno de conda basado en Python 3 con ArcGIS Server.

La instalación de Python ArcGIS Server incluye paquetes como numpy y matplotlib. Sin embargo, si desea instalar paquetes de Python personalizados adicionales, siga estos pasos:

Servicios publicados desde ArcGIS Pro

Al igual que ArcGIS Pro, ArcGIS Server usa conda para administrar entornos de Python. A partir de ArcGIS Server 10.7.1, puede especificar un entorno de Python para todos los servicios de geoprocesamiento. A partir de ArcGIS Server 10.8.1, puede especificar un entorno de Python para un único servicio de geoprocesamiento.

Los siguientes pasos están destinados para geoprocesar servicios publicados desde ArcGIS Pro o utilizando ArcPy. Para obtener más información sobre el entorno de Python en ArcGIS Pro, consulte Python en ArcGIS Pro. Le recomendamos que clone el entorno de Python predeterminado para realizar actualizaciones. Tan solo se puede activar un entorno de Python a la vez para ArcGIS Server.

Para obtener más información sobre cómo usar y trabajar con conda, consulte Introducción a conda.

Especificar un entorno de Python para todos los servicios de geoprocesamiento

Para implementar paquetes de Python de terceros con ArcGIS Server, aplique los siguientes pasos para cada equipo en su sitio:

  1. Inicie sesión en su equipo de ArcGIS Server con la cuenta de ArcGIS Server y abra la ventana de comando como administrador.
  2. Cambie el directorio a <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts.
  3. Clone el entorno de Python predeterminado del servidor con un nuevo nombre de entorno, por ejemplo newenvname, en el directorio de entorno de Python de la instalación de ArcGIS Server con el comando conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname". Sustituya el prefijo por el directorio de instalación y el nombre del nuevo entorno.
  4. Para activar el entorno clonado, ejecute proswap newenvname.
  5. Instale los paquetes de Python de terceros ejecutando conda install. Utilice pip install solamente si conda install no está disponible.
  6. Reinicie el servicio de ArcGIS Server en la pestaña Servicios del Administrador de tareas de Windows o Servicios de Windows. Tardará unos minutos hasta que todos los servicios vuelvan a estar en línea.
  7. Repita los pasos del 1 al 6 en el resto de equipos de su sitio de ArcGIS Server para una implementación de varios equipos.

Para agregar más paquetes al entorno de conda existente, siga estos pasos:

  1. Inicie sesión en su equipo de ArcGIS Server.
  2. Desde el menú de inicio, abra la ventana de comando de Python 3. Puede que esté en la carpeta ArcGIS Server, en función de su sistema operativo.
  3. Ejecute conda install para los paquetes que se deben implementar. Utilice pip install solamente si conda install no está disponible.
  4. Reinicie el servicio de geoprocesamiento en ArcGIS Server Manager.
  5. Si lo desea, reinicie el servicio de ArcGIS Server en la pestaña Servicios del Administrador de tareas de Windows. Todos los servicios volverán a estar en línea en pocos minutos.
  6. Repita los pasos del 1 al 5 en cada equipo de su sitio de ArcGIS Server si tiene una implementación de varios equipos.

Especificar un entorno de Python para un único servicio de geoprocesamiento

Clone el entorno de Python predeterminado del servidor, instale paquetes de Python de terceros y edite las propiedades del servicio de su servicio de geoprocesamiento siguiendo estos pasos:

  1. Inicie sesión en su equipo de ArcGIS Server y abra la ventana de comando de Python 3 desde el menú de inicio. Se recomienda ejecutar el símbolo del sistema como administrador; de lo contrario, es posible que no pueda clonar el entorno en ciertos directorios.
  2. Clone el entorno de Python predeterminado del servidor con un nuevo nombre de entorno, por ejemplo newenvname, en el directorio de entorno de Python de la instalación de ArcGIS Server con el comando conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname". Sustituya el prefijo por el directorio de instalación y el nombre del nuevo entorno. Para clonar el entorno en cualquier otro directorio fuera del directorio de instalación de ArcGIS Server, ejecute conda create --clone arcgispro-py3 --prefix "<fullpath>\outsideenvname".
  3. Active el nuevo entorno en la ventana de comando con activate newenvname. Si está utilizando un directorio fuera del direcArcGIS ServerArcGIS Servertorio del entorno PPythonPythonyhton de instalación de ArcGIS Server, proporcione la ruta completa a su entorno clonado con activate <fullpath>\outsideenvname.
  4. Instale sus paquetes de Python con conda install packagename=version. Opcionalmente, aunque es una práctica recomendada, puede alinear la versión del paquete que utilizó en ArcGIS Pro durante el proceso de publicación y la versión del paquete instalada en el servidor.
  5. Una vez que se instalen todos los paquetes, vaya al directorio del administrador de ArcGIS Server. En Recursos en la parte inferior de la página, vaya a servicios.
  6. Seleccione el servicio de geoprocesamiento para el que desea especificar un entorno de Python.
  7. Vaya a Operaciones compatibles en la parte inferior de la página y haga clic en editar.
  8. En el servicio JSON, agregue el par clave-valor a las propiedades del servicio cuando su entorno clonado esté en el directorio del ArcGIS Serverentorno Pyhton de iPythonPythonArcGIS Server"condaEnvironmentPath": "newenvname"nstalación de ArcGIS Server. Si está utilizando un directorio fuera del directArcGIS Serverorio del entorno PyPythonhton de instalación de ArcGIS Server, proporcione la ruta completa a su entorno clonado. Una propiedad del servicio simplificada JSON incluyendo la nueva propiedad de condaEnvironmentPath es como se indica a continuación.

    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. Haga clic en el botón Guardar ediciones para guardar los cambios.
  10. Su servicio se reinicia automáticamente.