

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Crie um pacote conda para um aplicativo ou plug-in
<a name="conda-package"></a>

Um pacote conda é um arquivo compactado de software escrito em qualquer idioma. O Conda oferece suporte a uma variedade de combinações de sistemas operacionais e arquiteturas, para que você possa empacotar aplicativos completosBlender, comoMaya, e Nuke junto com bibliotecas para Python e outras linguagens. Para obter mais informações sobre pacotes conda, consulte [Pacotes](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/packages.html) na documentação do conda.

Para usar um pacote conda, você o instala em um ambiente virtual. Um ambiente virtual conda tem um *diretório de prefixo* onde os pacotes são instalados. A instalação de um pacote usa vinculação direta ou revinculação de arquivos quando há suporte, portanto, a criação de vários ambientes com os mesmos pacotes não usa espaço adicional em disco significativo. Para usar um ambiente virtual, você o ativa para definir variáveis de ambiente. A ativação executa scripts fornecidos pelos pacotes, dando a cada pacote a oportunidade de modificar o PATH ou outras variáveis de ambiente. Os pacotes Conda normalmente contêm aplicativos ou bibliotecas, mas a ativação flexível significa que eles também podem apontar para aplicativos instalados em um sistema de arquivos compartilhado.

A criação de um pacote personalizado envolve três etapas: uma *receita* contém as instruções de construção, um *pacote* é o artefato (`.conda`ou `.tar.bz2` arquivo) construído e um *canal* hospeda pacotes para instalação. O `rattler-build publish` comando executa todas as três etapas: ele pode criar uma receita em um pacote e publicá-la em um canal, ou pode usar um artefato de pacote diretamente para publicá-la.

A comunidade [conda-forge](https://conda-forge.org/) mantém receitas de pacotes para um amplo conjunto de software de código aberto e hospeda artefatos de pacotes no canal. `conda-forge` Você pode configurar sua fila para incluir `conda-forge` como fonte de pacote e, em seguida, criar pacotes personalizados que dependam dos pacotes conda-forge para serem executados. PoisLinux, o conda-forge hospeda uma cadeia de ferramentas de compilação completa, incluindo suporte a CUDA, com opções consistentes de compilação e vinculação selecionadas. Você pode usar pacotes conda-forge como dependências em suas próprias receitas ou instalá-los junto com seus pacotes personalizados no mesmo ambiente.

Você pode combinar um aplicativo inteiro, incluindo dependências, em um pacote conda. Os pacotes que o Deadline Cloud fornece no [canal de nuvem de prazos](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment) para frotas gerenciadas por serviços usam essa abordagem de reempacotamento binário. Isso organiza os mesmos arquivos de uma instalação para se adequar ao ambiente virtual conda.

**nota**  
Aplicativos grandes podem exigir dezenas de GB de espaço livre em disco para o arquivamento de origem, arquivos extraídos e saída de compilação. Certifique-se de usar um disco com espaço disponível suficiente para a saída da compilação do pacote.

## Package um aplicativo
<a name="conda-package-application"></a>

Ao reempacotar um aplicativo para conda, há dois objetivos:
+ A maioria dos arquivos do aplicativo deve ser separada da estrutura primária do ambiente virtual conda. Os ambientes podem então misturar o aplicativo com pacotes de outras fontes, como [conda-forge](https://conda-forge.org/).
+ Quando um ambiente virtual conda é ativado, o aplicativo deve estar disponível na variável de ambiente PATH.

**Para reempacotar um aplicativo para conda**

1. Escreva receitas de compilação do conda que instalem o aplicativo em um subdiretório como. `$CONDA_PREFIX/opt/<application-name>` Isso o separa dos diretórios de prefixo padrão, como e. `bin` `lib`

1. Adicione links simbólicos ou scripts de inicialização `$CONDA_PREFIX/bin` para executar os binários do aplicativo.

   Como alternativa, crie scripts activate.d que o `conda activate` comando executará para adicionar os diretórios binários do aplicativo ao PATH. AtivadoWindows, onde os links simbólicos não são suportados em todos os lugares em que os ambientes podem ser criados, use scripts de inicialização do aplicativo ou ativados.d.

1. Alguns aplicativos dependem de bibliotecas não instaladas por padrão nas frotas gerenciadas pelo serviço Deadline Cloud. Por exemplo, o sistema de janelas X11 geralmente é desnecessário para trabalhos não interativos, mas alguns aplicativos ainda exigem que ele seja executado sem uma interface gráfica. Você deve fornecer essas dependências dentro do pacote que você cria.

1. Se o aplicativo oferecer suporte a plug-ins, forneça uma convenção clara que os pacotes de plug-ins devem seguir para se integrarem ao aplicativo em um ambiente virtual. Por exemplo, a [receita de amostra de Maya 2026](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/maya-2026#instructions-for-maya-plugin-packages) documenta essa convenção para Maya plug-ins.

1. Certifique-se de seguir os contratos de direitos autorais e de licença dos aplicativos que você empacota. Recomendamos usar um bucket Amazon S3 privado para seu canal conda para controlar a distribuição e limitar o acesso de pacotes à sua fazenda.

As receitas de amostra dos pacotes no `deadline-cloud` canal estão disponíveis no repositório de [amostras do Deadline Cloud](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes#readme) emGitHub.

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

Os plug-ins de aplicativos podem ser empacotados como seus próprios pacotes conda. Ao criar um pacote de plug-ins, siga estas diretrizes:
+ Inclua o pacote do aplicativo host como dependência de compilação e execução na receita `recipe.yaml` de compilação. Use uma restrição de versão para que a receita de compilação seja instalada somente com pacotes compatíveis.
+ Siga as convenções do pacote do aplicativo host para registrar o plug-in.

## Pacotes de adaptadores
<a name="conda-package-adaptors"></a>

Algumas integrações de aplicativos do Deadline Cloud usam um *adaptador* que estende a interface do aplicativo para simplificar a [criação de modelos de trabalho](building-jobs.md). Um adaptador é uma interface de linha de comando com suporte para executar um daemon em segundo plano, relatar status e aplicar mapeamento de caminhos. Para obter mais informações, consulte o [Open Job Description Adaptor Runtime](https://github.com/OpenJobDescription/openjd-adaptor-runtime-for-python#readme) emGitHub. Por exemplo, o [deadline-cloud-for-maya](https://github.com/aws-deadline/deadline-cloud-for-maya/)on GitHub inclui uma interface gráfica de envio de tarefas integrada e um Maya adaptador que está disponível como `maya-openjd` pacote em frotas gerenciadas por serviços.

Os envios de trabalhos do remetente do Deadline Cloud GUIs incluem um valor de `CondaPackages` parâmetro que especifica os pacotes conda a serem incluídos em um ambiente virtual para execução do trabalho. O valor do `CondaPackages` parâmetro para Maya normalmente se parece `maya=2025.* maya-openjd=0.15.* maya-mtoa` e pode conter entradas alternativas para pacotes de plug-ins. Quando o ambiente de fila configura um ambiente virtual conda para executar o trabalho, ele resolve esses nomes de pacotes e restrições de versão para serem compatíveis e adiciona todos os pacotes de dependência que eles precisam executar. Cada pacote de adaptador e plug-in especifica com o que é compatível, incluindo quais versõesMaya, quais versões do Python e outras dependências.

[Para criar seus próprios pacotes de adaptadores usando nossos exemplos, como a [receita maya-openjd](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/maya-openjd) emGitHub, você pode criar os pacotes para Python e outras dependências fornecidas pelo conda-forge.](https://conda-forge.org/) Talvez seja necessário criar primeiro o [prazo](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/deadline) e [openjd-adaptor-runtime](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/openjd-adaptor-runtime)as receitas para satisfazer as dependências.