Desativar o uso de bibliotecas Python pré-instaladas para aplicativos Databricks
Esta página descreve como desativar as bibliotecas Python pré-instaladas em um aplicativo Databricks escalonado horizontalmente, gerenciar suas próprias dependências e reativar as bibliotecas pré-instaladas mais tarde. A desativação está disponível apenas para aplicativos com escalonamento horizontal que foram convertidos de um aplicativo padrão. Consulte Como converter um aplicativo padrão para usar escalabilidade horizontal. A escalabilidade horizontal está em Beta.
Ao converter um aplicativo padrão para escalonamento horizontal, a Databricks fixa o aplicativo convertido às bibliotecas Python pré-instaladas para que os imports existentes do aplicativo continuem funcionando. Para a execução do aplicativo em uma imagem de SO base limpa e declarar cada biblioteca por conta própria, opte por não participar.
Desativar bibliotecas pré-instaladas
Optar por não participar informa à Databricks para construir sua próxima implantação com base em uma imagem de SO base limpa. As bibliotecas pré-instaladas não estão mais disponíveis a menos que você as declare em requirements.txt ou pyproject.toml.
Para cancelar a participação:
- Na página de detalhes do aplicativo, clique em Editar .
- No passo Configure , desmarque a caixa de seleção Usar bibliotecas Python pré-instaladas .
- Clique em Salvar . A implantação atualmente em execução não é afetada.
- Implante seu aplicativo novamente na **tab Implantações**. Esta nova implantação é construída sobre a imagem base limpa do SO.
Fluxo de trabalho recomendado
Suas dependências podem incluir bibliotecas pré-instaladas transitivamente, portanto, nem sempre está claro quais bibliotecas seu aplicativo exige diretamente. Encontre bibliotecas ausentes em um aplicativo de teste antes de desativar na produção:
- Criar um novo aplicativo com escalonamento horizontal. Novos aplicativos escalados horizontalmente já executam na imagem base do sistema operacional limpa, portanto, isso corresponde à sua meta pós-cancelamento.
- Implante o código-fonte do aplicativo de produção para o aplicativo de teste. Atualize
requirements.txt(oupyproject.toml) e reimplemente até que o aplicativo de teste comece, atenda a solicitações e seja aprovado em seus testes. - Copie as declarações finais de dependência para o código-fonte do seu aplicativo de produção.
- No aplicativo de produção, siga os passos em Recusar bibliotecas pré-instaladas e implante a fonte atualizada.
A produção continua sendo executada na imagem com as bibliotecas pré-instaladas até que sua nova implantação passe nas verificações de integridade, portanto, essa abordagem evita o tempo de inatividade enquanto você identifica dependências ausentes no aplicativo de teste.
Resolver erros após cancelar a participação
Após a desativação, a falha mais comum é um ModuleNotFoundError na startup do aplicativo, causada por um framework ou uma biblioteca que seu código importou implicitamente do conjunto pré-instalado. Para resolver:
- Abra a guia **Logs** na página de detalhes do aplicativo.
- Localize o nome do módulo ausente nos logs de compilação ou de tempo de execução.
- Adicione o pacote correspondente a
requirements.txt(oupyproject.toml) e reimplemente.
Uma nova implantação somente substitui a implantação em execução se o processo do aplicativo permanecer em execução pelos primeiros segundos após o startup. Uma implantação de desativação que trava imediatamente devido a uma importação ausente nunca assume o controle, e o tráfego continua na implantação anterior em funcionamento enquanto você corrige a lista de dependências. A verificação de startup é superficial, então teste se seu aplicativo realmente atende às solicitações depois de desativar, em vez de depender da verificação para identificar implantações com falha.
Reativar bibliotecas pré-instaladas
Para retornar às bibliotecas pré-instaladas após a desativação:
- Na página de detalhes do aplicativo, clique em Editar .
- No passo Configurar , selecione a caixa de seleção Usar bibliotecas Python pré-instaladas .
- Clique em Salvar .
- Implante seu aplicativo novamente na **tab Implantações**. Esta nova implantação é construída sobre a imagem base com as bibliotecas pré-instaladas.
Seus requirements.txt e pyproject.toml continuam a ser aplicados, portanto, todas as declarações explícitas que você adicionou enquanto estava desativado são preservadas.
Converter um aplicativo com dimensionamento horizontal de volta para um aplicativo padrão também restaura as bibliotecas pré-instaladas: o aplicativo padrão é recriado com elas, independentemente de você ter desativado a opção. Se o aplicativo for posteriormente convertido novamente para escalabilidade horizontal, ele incluirá as bibliotecas pré-instaladas até que se desative novamente.