View a markdown version of this page

Cree un paquete conda para una aplicación o un complemento - Nube de plazos

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cree un paquete conda para una aplicación o un complemento

Un paquete conda es un archivo comprimido de software escrito en cualquier idioma. Conda admite una variedad de combinaciones de sistemas operativos y arquitecturas, por lo que puede empaquetar aplicaciones completas como BlenderMaya, y Nuke junto con bibliotecas para Python y otros lenguajes. Para obtener más información sobre los paquetes de conda, consulte Paquetes en la documentación de conda.

Para usar un paquete conda, debe instalarlo en un entorno virtual. Un entorno virtual conda tiene un directorio de prefijos donde se instalan los paquetes. La instalación de un paquete implica vincular o volver a vincular los archivos de forma rígida cuando se admite, por lo que la creación de varios entornos con los mismos paquetes no requiere una cantidad significativa de espacio adicional en el disco. Para usar un entorno virtual, debe activarlo para establecer variables de entorno. La activación ejecuta los scripts que proporcionan los paquetes, lo que da a cada paquete la oportunidad de modificar PATH u otras variables de entorno. Los paquetes de Conda suelen contener aplicaciones o bibliotecas, pero la activación flexible significa que también pueden apuntar a aplicaciones instaladas en un sistema de archivos compartido.

La creación de un paquete personalizado consta de tres etapas: una receta contiene las instrucciones de construcción, un paquete es el artefacto (.condao .tar.bz2 archivo) creado y un canal aloja los paquetes para la instalación. El rattler-build publish comando gestiona los tres pasos: puede crear una receta en un paquete y publicarla en un canal, o puede utilizar directamente un artefacto del paquete para publicarla.

La comunidad de conda-forge mantiene recetas de paquetes para un amplio conjunto de software de código abierto y aloja los artefactos de paquetes en el canal. conda-forge Puede configurar su cola para incluirla conda-forge como fuente de paquetes y, a continuación, crear paquetes personalizados que dependan de los paquetes de conda-forge para ejecutarse. PuesLinux, conda-forge aloja una cadena completa de herramientas de compilación que incluye soporte para CUDA, con opciones consistentes de compilación y enlace seleccionadas. Puedes usar los paquetes de conda-forge como dependencias en tus propias recetas o instalarlos junto con tus paquetes personalizados en el mismo entorno.

Puede combinar una aplicación completa, incluidas las dependencias, en un paquete conda. Los paquetes que Deadline Cloud proporciona en el canal Deadline-Cloud para flotas gestionadas por servicios utilizan este enfoque de reempaquetado binario. Esto organiza los mismos archivos que una instalación para adaptarlos al entorno virtual de conda.

nota

Las aplicaciones de gran tamaño pueden requerir decenas de GB de espacio libre en disco para el archivo fuente, los archivos extraídos y la generación de resultados. Asegúrese de utilizar un disco con suficiente espacio disponible para el resultado de la compilación del paquete.

Package una aplicación

Al volver a empaquetar una solicitud para conda, hay dos objetivos:

  • La mayoría de los archivos de la aplicación deben estar separados de la estructura principal del entorno virtual de conda. Luego, los entornos pueden mezclar la aplicación con paquetes de otras fuentes, como conda-forge.

  • Cuando se activa un entorno virtual conda, la aplicación debería estar disponible en la variable de entorno PATH.

Para volver a empaquetar una aplicación para conda
  1. Escriba recetas de compilación de conda que instalen la aplicación en un subdirectorio como. $CONDA_PREFIX/opt/<application-name> Esto lo separa de los directorios de prefijos estándar como y. bin lib

  2. Agregue enlaces simbólicos o ejecute scripts $CONDA_PREFIX/bin para ejecutar los binarios de la aplicación.

    Como alternativa, cree scripts activados.d que ejecutará el conda activate comando para añadir los directorios binarios de la aplicación a la PATH. Si no se admiten enlaces simbólicos en Windows todos los entornos en los que se puedan crear entornos, utilice en su lugar scripts de inicio de aplicaciones o activate.d.

  3. Algunas aplicaciones dependen de bibliotecas que no están instaladas de forma predeterminada en las flotas gestionadas por el servicio de Deadline Cloud. Por ejemplo, el sistema de ventanas X11 no suele ser necesario para trabajos no interactivos, pero algunas aplicaciones aún requieren que se ejecute sin una interfaz gráfica. Debe proporcionar esas dependencias en el paquete que cree.

  4. Si la aplicación admite complementos, proporcione una convención clara que los paquetes de complementos deben seguir para integrarse con la aplicación en un entorno virtual. Por ejemplo, la receta de ejemplo de Maya 2026 documenta esta convención para Maya los complementos.

  5. Asegúrese de cumplir con los acuerdos de derechos de autor y licencia de las aplicaciones que empaquete. Le recomendamos que utilice un bucket privado de Amazon S3 para su canal conda a fin de controlar la distribución y limitar el acceso de los paquetes a su granja.

Los ejemplos de recetas para los paquetes del deadline-cloud canal están disponibles en el repositorio de muestras de Deadline Cloud enGitHub.

Package un plugin

Los complementos de la aplicación se pueden empaquetar como sus propios paquetes conda. Al crear un paquete de complementos, siga estas pautas:

  • Incluye el paquete de la aplicación host como dependencia de compilación y ejecución en la receta de compilaciónrecipe.yaml. Usa una restricción de versión para que la receta de compilación solo se instale con paquetes compatibles.

  • Siga las convenciones del paquete de la aplicación anfitriona para registrar el complemento.

Paquetes de adaptadores

Algunas integraciones de aplicaciones de Deadline Cloud utilizan un adaptador que amplía la interfaz de la aplicación para simplificar la redacción de plantillas de trabajo. Un adaptador es una interfaz de línea de comandos que permite ejecutar un daemon en segundo plano, informar sobre el estado y aplicar un mapeo de rutas. Para obtener más información, consulte Open Job Description Adaptor Runtime enGitHub. Por ejemplo, deadline-cloud-for-mayaon GitHub incluye una interfaz gráfica de usuario integrada para el envío de trabajos y un Maya adaptador que está disponible como maya-openjd paquete en las flotas gestionadas por servicios.

Los envíos de trabajos del remitente de Deadline Cloud GUIs incluyen un valor de CondaPackages parámetro que especifica los paquetes conda que se van a incluir en un entorno virtual para ejecutar el trabajo. El valor del CondaPackages parámetro Maya suele tener el mismo aspecto maya=2025.* maya-openjd=0.15.* maya-mtoa y puede contener entradas alternativas para los paquetes de complementos. Cuando el entorno de colas configura un entorno virtual conda para ejecutar el trabajo, resuelve estos nombres de paquetes y restricciones de versión para que sean compatibles y agrega todos los paquetes de dependencia que necesitan para ejecutarse. Cada paquete de adaptadores y complementos especifica con qué es compatible, incluidas las versionesMaya, las versiones de Python y otras dependencias.

Para crear sus propios paquetes de adaptadores utilizando nuestros ejemplos, como la receta maya-openjdGitHub, puede crear sobre los paquetes para Python y otras dependencias que proporciona conda-forge. Es posible que primero tengas que establecer la fecha límite y las recetas para satisfacer las dependencias. openjd-adaptor-runtime