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 a servicios de geoprocesamiento 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 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 Python predeterminado del servidor con un nuevo nombre de entorno. La ubicación sugerida está en el directorio del entorno ArcGIS Server de la instalación de Python. Ejecute el comando conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname" --pinned --no-shortcuts con un newenvname de muestra. Sustituya el prefijo por el directorio de instalación y el nombre del nuevo entorno. Como alternativa, puede especificar una ubicación fuera del directorio de instalación.
  4. Ejecute conda proswap -n newenvname --all-users para activar el entorno clonado.

    Proporcionar el argumento --all-users es opcional si inició sesión en su equipo como usuario de la cuenta de ArcGIS Server; de lo contrario, es un argumento obligatorio. Si el entorno de conda clonado está fuera de la ubicación sugerida, proporcione la ruta completa a esa ubicación mediante conda proswap -p "<full-path-to-cloned-directory>" --all-users.

  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.

    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.

Agregar más paquetes

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

  1. Inicie sesión en su equipo de ArcGIS Server. Es posible que necesite privilegios administrativos en función de la ubicación de su entorno de conda existente.

    Es posible que necesite privilegios administrativos en función de la ubicación de su entorno de conda existente.

  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. Si no está disponible en el menú de inicio, puede ejecutar proenv.bat en <install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\Scripts.
  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 ArcGIS ServerArcGIS Server.

    Todos los servicios se reiniciarán 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 ArcGIS Server de la instalación de Python con el comando conda create --clone arcgispro-py3 --prefix "<install>\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\newenvname" --pinned --no-shortcuts. 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" --pinned --no-shortcuts.
  3. Active el nuevo entorno en la ventana de comando con activate newenvname. Si está utilizando un directorio fuera del directorio del entorno Python de instalación de ArcGIS Server, proporcione la ruta completa al entorno clonado con activate <fullpath>\outsideenvname.
  4. Instale los 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 y en la parte inferior de la página Recursos, 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 "condaEnvironmentPath": "newenvname" o "condaEnvironmentPath": "<full path to newenvname>" a las propiedades del servicio cuando el entorno clonado esté en el directorio de entorno Python de la instalación de ArcGIS Server. Si está utilizando un directorio fuera del directorio del entorno ArcGIS Server de instalación de Python, proporcione la ruta completa a su entorno clonado. Una propiedad del servicio simplificada JSON que incluya la nueva propiedad de condaEnvironmentPath es como sigue:

    Implementar paquetes de Python personalizados para 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. Haga clic en el botón Guardar ediciones para guardar los cambios.

El servicio se reinicia automáticamente.

Actualizar un entorno Python clonado después de actualizar ArcGIS Server

Lo normal es que, al actualizar ArcGIS Server a una versión reciente, necesite descartar los entornos previamente clonados. Entonces tendría que clonar el entorno Python desde la versión actualizada de ArcGIS Server y reconfigurar los servicios.

En ArcGIS Server 11.0, utilice el comando conda proup para actualizar los entornos Python clonados a partir de las versiones anteriores de ArcGIS Server mediante los pasos siguientes:

  1. Inicie sesión en su equipo 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. Active el entorno conda que desee actualizar ejecutando conda activate <environment name or path>.
  4. Una vez activado, actualice el entorno ejecutando conda proup -n <environment name> o conda proup -p <environment directory path>.
  5. Después de actualizar el entorno Python, reinicie todos los servicios de geoprocesamiento utilizados por este entorno conda o reinicie el servicio ArcGIS Server.

Para obtener más información sobre el comando conda proup, utilice conda proup --help. Esta función no puede utilizarse para migrar un entorno a una versión anterior tras un cambio a una versión anterior de ArcGIS Server. Esta función tampoco está disponible en un entorno desconectado.