Crie uma receita de conda build para Blender - Nuvem de prazos

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 uma receita de conda build para Blender

Você pode usar aplicativos diferentes para criar uma receita de construção de conda. Blender é de uso gratuito e simples de empacotar com o conda. A ferramenta Blender O Foundation fornece arquivos de aplicativos para vários sistemas operacionais. Criamos um exemplo de receita do conda build que usa os arquivos .zip do Windows e os arquivos .tar.xz do Linux. Nesta seção, aprenda a usar o Blender 4.2 receita de conda build.

O arquivo deadline-cloud.yaml especifica as plataformas conda e outros metadados para o envio de pacotes de trabalhos para o Deadline Cloud. Essa receita inclui informações de arquivo de origem local para demonstrar como isso funciona. A plataforma linux-64 conda está configurada para criar um envio de trabalho padrão para corresponder à configuração mais comum. O deadline-cloud.yaml é semelhante ao seguinte:

condaPlatforms: - platform: linux-64 defaultSubmit: true sourceArchiveFilename: blender-4.2.1-linux-x64.tar.xz sourceDownloadInstructions: 'Run "curl -LO https://download.blender.org/release/Blender4.2/blender-4.2.1-linux-x64.tar.xz"' - platform: win-64 defaultSubmit: false sourceArchiveFilename: blender-4.2.1-windows-x64.zip sourceDownloadInstructions: 'Run "curl -LO https://download.blender.org/release/Blender4.2/blender-4.2.1-windows-x64.zip"'

Revise os arquivos no recipe diretório. Os metadados da receita estão em recipe/meta.yaml. Você também pode ler a documentação do conda build meta.yaml para saber mais, por exemplo, como o arquivo é um modelo para gerar YAML. O modelo é usado para especificar o número da versão apenas uma vez e fornecer valores diferentes com base no sistema operacional.

Você pode revisar as opções de criação selecionadas em meta.yaml para desativar várias verificações de realocação binária e vinculação dinâmica de objetos compartilhados (DSO). Essas opções controlam como o pacote funciona quando instalado em um ambiente virtual conda em qualquer prefixo de diretório. Os valores padrão simplificam o empacotamento de cada biblioteca de dependências em um pacote separado, mas ao reempacotar binariamente um aplicativo, você precisa alterá-los.

Se o aplicativo que você está empacotando exigir bibliotecas de dependências adicionais ou se você estiver empacotando plug-ins para um aplicativo separadamente, você poderá encontrar erros de DSO. Esses erros ocorrem quando a dependência não está no caminho de pesquisa da biblioteca para o executável ou a biblioteca que precisa dela. Os aplicativos dependem de bibliotecas estarem em caminhos definidos globalmente, como /lib ou/usr/lib, quando instaladas em um sistema. No entanto, como os ambientes virtuais conda podem ser colocados em qualquer lugar, não há um caminho absoluto a ser usado. O Conda usa recursos relativos do RPATH, que tanto Linux and macOS suporte, para lidar com isso. Consulte a documentação do conda build em Tornando pacotes realocáveis para obter mais informações.

Blender não requer nenhum ajuste de RPATH, pois os arquivos do aplicativo foram criados com isso em mente. Para aplicativos que exigem isso, você pode usar as mesmas ferramentas que o conda build usa: patchelf no Linux e install_name_tool no macOS.

Durante a compilação do pacote, o script build.sh ou build_win.sh (chamado porbld.bat) é executado para instalar arquivos em um ambiente preparado com as dependências do pacote. Esses scripts copiam os arquivos de instalação, criam links simbólicos e configuram os scripts de ativação. $PREFIX/bin Ativado Windows, ele não cria links simbólicos, mas adiciona o diretório do Blender ao PATH no script de ativação.

Usamos bash em vez de um cmd.exe arquivo.bat para o Windows parte da receita do conda build, pois isso fornece mais consistência nos scripts de construção. Consulte a recomendação do guia do desenvolvedor do Deadline Cloud sobre portabilidade da carga de trabalho para obter dicas sobre como usar em bash Windows. Se você instalou o git para Windowspara clonar o repositório deadline-cloud-samplesgit, você já tem acesso a. bash

A documentação das variáveis de ambiente conda build lista os valores disponíveis para uso no script de construção. Esses valores incluem $SRC_DIR os dados do arquivo de origem, $PREFIX o diretório de instalação, o acesso $RECIPE_DIR a outros arquivos da receita, o nome $PKG_NAME e $PKG_VERSION a versão do pacote e $target_platform a plataforma conda de destino.

Envie o Blender 4.2 trabalho de pacote

Você pode construir o seu Blender 4.2 pacote conda para renderizar trabalhos, baixando o Blender arquivar e, em seguida, enviar um trabalho para a fila de criação de pacotes. A fila envia o trabalho para a frota associada para criar o pacote e reindexar o canal conda.

Essas instruções usam o git de um shell compatível com bash para obter um trabalho de construção de pacotes do OpenJD e algumas receitas de conda das amostras do Deadline Cloud. GitHub repositório. Você precisará dos seguintes itens:

  1. Abra a GUI de configuração do Deadline Cloud usando o comando a seguir e defina a fazenda e a fila padrão para sua fila de criação de pacotes.

    deadline config gui
  2. Use o comando a seguir para clonar as amostras do Deadline Cloud GitHUb repositório.

    git clone https://github.com/aws-deadline/deadline-cloud-samples.git
  3. Mude para o conda_recipes diretório no deadline-cloud-samples diretório.

    cd deadline-cloud-samples/conda_recipes
  4. Execute o script chamadosubmit-package-job. O script fornece instruções para fazer o download Blender a primeira vez que você executa o script.

    ./submit-package-job blender-4.2/
  5. Siga as instruções para fazer o download Blender. Quando você tiver o arquivamento, execute o submit-package-job script novamente.

    ./submit-package-job blender-4.2/

Depois de enviar o trabalho, use o monitor do Deadline Cloud para ver o progresso e o status do trabalho à medida que ele é executado.

O canto inferior esquerdo do monitor mostra as duas etapas do trabalho, criando o pacote e depois reindexando. O canto inferior direito mostra as etapas individuais de cada tarefa. Neste exemplo, há uma etapa para cada tarefa.

O monitor Deadline Cloud mostra o progresso e o status de um trabalho construindo o Blender pacote.

No canto inferior esquerdo do monitor estão as duas etapas do trabalho: criar o pacote e depois reindexar o canal conda. No canto inferior direito estão as tarefas individuais de cada etapa. Neste exemplo, há somente uma tarefa para cada etapa.

Quando você clica com o botão direito do mouse na tarefa da etapa de criação do pacote e escolhe Exibir registros, o monitor mostra uma lista de ações da sessão que mostram como a tarefa é agendada para o trabalhador. As ações são:

  • Sincronizar anexos — Essa ação copia os anexos da tarefa de entrada ou monta um sistema de arquivos virtual, dependendo da configuração usada para o sistema de arquivos de anexos da tarefa.

  • Iniciar Conda — Essa ação é do ambiente de fila adicionado por padrão quando você criou a fila. O trabalho não especifica nenhum pacote conda, então ele termina rapidamente e não cria um ambiente virtual conda.

  • Launch CondaBuild Env — Essa ação cria um ambiente virtual conda personalizado que inclui o software necessário para criar um pacote conda e reindexar um canal. Ele é instalado a partir do canal conda-forge.

  • Execução da tarefa — Essa ação cria o Blender empacota e carrega os resultados para o Amazon S3.

Conforme as ações são executadas, elas enviam registros em um formato estruturado para a Amazon CloudWatch. Quando um trabalho for concluído, selecione Exibir registros de todas as tarefas para ver registros adicionais sobre a configuração e desmontagem do ambiente em que o trabalho é executado.