Crea un pacchetto conda per un'applicazione o un plug-in - Deadline Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea un pacchetto conda per un'applicazione o un plug-in

Un pacchetto conda è un archivio compresso di software scritto in qualsiasi lingua. Conda supporta una varietà di combinazioni di sistemi operativi e architetture, quindi puoi impacchettare applicazioni complete come Blender e Nuke insieme a librerie per Python e altri linguaggi. Maya Per ulteriori informazioni sui pacchetti conda, vedere Pacchetti nella documentazione di conda.

Per utilizzare un pacchetto conda, lo si installa in un ambiente virtuale. Un ambiente virtuale conda ha una directory di prefissi in cui sono installati i pacchetti. L'installazione di un pacchetto utilizza il collegamento fisico o il reflink dei file quando è supportata, quindi la creazione di più ambienti con gli stessi pacchetti non utilizza molto spazio aggiuntivo su disco. Per utilizzare un ambiente virtuale, è necessario attivarlo per impostare le variabili di ambiente. L'attivazione esegue gli script forniti dai pacchetti, dando a ciascun pacchetto l'opportunità di modificare PATH o altre variabili di ambiente. I pacchetti Conda in genere contengono applicazioni o librerie, ma l'attivazione flessibile significa che possono anche indirizzare ad applicazioni installate su un file system condiviso.

La creazione di un pacchetto personalizzato prevede tre fasi: una ricetta contiene le istruzioni di compilazione, un pacchetto è l'elemento (.condao .tar.bz2 file) creato e un canale ospita i pacchetti per l'installazione. Il rattler-build publish comando gestisce tutti e tre i passaggi: può creare una ricetta in un pacchetto e pubblicarla su un canale, oppure può richiedere direttamente un elemento del pacchetto per pubblicarla.

La comunità conda-forge gestisce le ricette dei pacchetti per un'ampia gamma di software open source e ospita gli elementi dei pacchetti nel canale. conda-forge È possibile configurare la coda per includerla conda-forge come sorgente del pacchetto e quindi creare pacchetti personalizzati che dipendono dall'esecuzione dei pacchetti conda-forge. InfattiLinux, conda-forge ospita una toolchain completa di compilatori che include il supporto CUDA, con opzioni di compilazione e collegamento coerenti selezionate. È possibile utilizzare i pacchetti conda-forge come dipendenze nelle proprie ricette o installarli insieme ai pacchetti personalizzati nello stesso ambiente.

È possibile combinare un'intera applicazione, comprese le dipendenze, in un pacchetto conda. I pacchetti che Deadline Cloud fornisce nel canale deadline-cloud per le flotte gestite dai servizi utilizzano questo approccio di riconfezionamento binario. Questo organizza gli stessi file di un'installazione per adattarli all'ambiente virtuale conda.

Nota

Le applicazioni di grandi dimensioni possono richiedere decine di GB di spazio libero su disco per l'archivio di origine, i file estratti e l'output di compilazione. Assicurati di utilizzare un disco con spazio disponibile sufficiente per l'output di compilazione del pacchetto.

Package di un'applicazione

Quando si riconfeziona un'applicazione per conda, ci sono due obiettivi:

  • La maggior parte dei file dell'applicazione deve essere separata dalla struttura principale dell'ambiente virtuale conda. Gli ambienti possono quindi mescolare l'applicazione con pacchetti provenienti da altre fonti come conda-forge.

  • Quando viene attivato un ambiente virtuale conda, l'applicazione dovrebbe essere disponibile dalla variabile di ambiente PATH.

Per riconfezionare un'applicazione per conda
  1. Scrivi ricette di compilazione conda che installano l'applicazione in una sottodirectory come. $CONDA_PREFIX/opt/<application-name> Questo lo separa dalle directory di prefissi standard come e. bin lib

  2. Aggiungi collegamenti simbolici o avvia script per $CONDA_PREFIX/bin eseguire i binari dell'applicazione.

    In alternativa, create degli script.d attivati che il conda activate comando eseguirà per aggiungere le directory binarie dell'applicazione al PATH. NoWindows, dove i collegamenti simbolici non sono supportati ovunque sia possibile creare ambienti, utilizzate invece gli script di avvio dell'applicazione o activate.d.

  3. Alcune applicazioni dipendono da librerie non installate di default sulle flotte gestite dai servizi Deadline Cloud. Ad esempio, il sistema a finestre X11 di solito non è necessario per lavori non interattivi, ma alcune applicazioni richiedono comunque che venga eseguito senza un'interfaccia grafica. È necessario fornire tali dipendenze all'interno del pacchetto creato.

  4. Se l'applicazione supporta i plugin, fornite una convenzione chiara che i pacchetti di plugin devono seguire per integrarsi con l'applicazione in un ambiente virtuale. Ad esempio, la ricetta di esempio del Maya 2026 documenta questa convenzione per Maya i plugin.

  5. Assicurati di rispettare gli accordi di copyright e licenza per le applicazioni che includi. Ti consigliamo di utilizzare un bucket Amazon S3 privato per il tuo canale conda per controllare la distribuzione e limitare l'accesso dei pacchetti alla tua farm.

Le ricette di esempio per i pacchetti del deadline-cloud canale sono disponibili nell'archivio di esempi di Deadline Cloud su. GitHub

Package di un plugin

I plugin delle applicazioni possono essere impacchettati come pacchetti conda propri. Quando crei un pacchetto di plugin, segui queste linee guida:

  • Includi il pacchetto dell'applicazione host sia come dipendenza di compilazione che di esecuzione nella ricetta recipe.yaml di compilazione. Utilizzate un vincolo di versione in modo che la ricetta di compilazione venga installata solo con pacchetti compatibili.

  • Segui le convenzioni del pacchetto dell'applicazione host per la registrazione del plug-in.

Pacchetti adattatori

Alcune integrazioni di applicazioni Deadline Cloud utilizzano un adattatore che estende l'interfaccia dell'applicazione per semplificare la scrittura di modelli di lavoro. Un adattatore è un'interfaccia a riga di comando con supporto per l'esecuzione di un demone in background, la segnalazione dello stato e l'applicazione della mappatura dei percorsi. Per ulteriori informazioni, vedere Open Job Description Adaptor Runtime suGitHub. Ad esempio, deadline-cloud-for-mayaon GitHub include una GUI integrata per l'invio dei lavori e un Maya adattatore disponibile come maya-openjd pacchetto nelle flotte gestite dai servizi.

Gli invii di lavoro da Deadline Cloud submitter GUIs includono un valore di CondaPackages parametro che specifica i pacchetti conda da includere in un ambiente virtuale per l'esecuzione del lavoro. Il valore del CondaPackages parametro per Maya in genere è simile maya=2025.* maya-openjd=0.15.* maya-mtoa e potrebbe contenere voci alternative per i pacchetti di plug-in. Quando l'ambiente di coda configura un ambiente virtuale conda per l'esecuzione del job, risolve questi nomi di pacchetto e vincoli di versione in modo che siano compatibili e aggiunge tutti i pacchetti di dipendenza necessari per l'esecuzione. Ogni pacchetto di adattatori e plugin specifica con cosa è compatibile, incluse le versioni, le versioni di Maya Python e altre dipendenze.

Per creare i tuoi pacchetti adattatori usando i nostri esempi come la ricetta maya-openjd onGitHub, puoi basarti sui pacchetti per Python e altre dipendenze fornite da conda-forge. Potrebbe essere necessario prima definire la scadenza e le ricette per soddisfare le dipendenze. openjd-adaptor-runtime