

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
<a name="conda-package"></a>

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](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/packages.html) 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 (`.conda`o `.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](https://conda-forge.org/) 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](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment) 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
<a name="conda-package-application"></a>

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](https://conda-forge.org/).
+ 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`

1. 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.

1. 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.

1. 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](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/maya-2026#instructions-for-maya-plugin-packages) documenta questa convenzione per Maya i plugin.

1. 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](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes#readme). GitHub

## Package di un plugin
<a name="conda-package-plugins"></a>

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
<a name="conda-package-adaptors"></a>

[Alcune integrazioni di applicazioni Deadline Cloud utilizzano un *adattatore* che estende l'interfaccia dell'applicazione per semplificare la scrittura di modelli di lavoro.](building-jobs.md) 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](https://github.com/OpenJobDescription/openjd-adaptor-runtime-for-python#readme) suGitHub. Ad esempio, [deadline-cloud-for-maya](https://github.com/aws-deadline/deadline-cloud-for-maya/)on 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](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/maya-openjd) onGitHub, puoi basarti sui pacchetti per Python e altre dipendenze fornite da conda-forge.](https://conda-forge.org/) [Potrebbe essere necessario prima definire la scadenza e le ricette per soddisfare le dipendenze. [openjd-adaptor-runtime](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/openjd-adaptor-runtime)](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/deadline)