Pular para o conteúdo principal

Notebook-scoped Python biblioteca

As bibliotecas com escopo para notebooks permitem que você crie, modifique, salve, reutilize e compartilhe ambientes Python personalizados que são específicos de um notebook. Quando você instala uma biblioteca com escopo para notebooks, somente o notebook atual e quaisquer jobs associados a esse notebook têm acesso a essa biblioteca. Outros notebooks conectados ao mesmo cluster não são afetados.

As bibliotecas com escopo para notebooks não persistem entre as sessões. O senhor deve reinstalar as bibliotecas com escopo para notebooks no início de cada sessão ou sempre que o notebook for desconectado de um cluster.

Databricks recomenda o uso do comando mágico %pip para instalar a biblioteca Python com escopo de Notebook. Em ambientes de notebook serverless , versão 5 ou superior, você também pode usar %uv pip para instalações mais rápidas.

O senhor pode usar o site %pip no Notebook agendado como Job. Se precisar gerenciar o ambiente Python em um Scala, SQL ou R Notebook, use o comando mágico %python em conjunto com %pip.

Você poderá observar um aumento no tráfego para o nó do driver ao trabalhar com instalações de biblioteca com escopo de Notebook. Consulte as recomendações de tamanho do nó do driver.

Para instalar o biblioteca para todos os Notebooks anexados a um cluster, use o biblioteca de cluster. Consulte biblioteca com escopo de computação.

Para obter uma visão geral abrangente das opções disponíveis para a instalação da Python biblioteca em Databricks, consulte Python environment management.

gerenciar biblioteca com %pip comando

O comando %pip é equivalente ao comando pip e suporta a mesma API. As seções a seguir mostram exemplos de como o senhor pode usar o %pip comando para gerenciar seu ambiente. Para obter mais informações sobre a instalação do Python pacote com pip, consulte a documentação do pip install e as páginas relacionadas.

importante
  • %pip O comando não reinicia automaticamente o processo Python . Se você instalar um novo pacote ou atualizar um pacote existente, talvez precise usar dbutils.library.restartPython() para ver o novo pacote. Consulte Reiniciar o processo do Python no Databricks.
  • Atualizar, modificar ou desinstalar o pacote Python principal (como o IPython) com %pip pode fazer com que alguns recursos parem de funcionar conforme o esperado. Se o senhor tiver esses problemas, redefina o ambiente reiniciando o clustering ou iniciando uma nova sessão.

Instalações mais rápidas com %uv pip

nota

%uv pip Está disponível apenas em notebooks serverless executando o ambiente versão 5 ou superior. O ambiente clássico compute e versões anteriores do ambiente serverless não suportam %uv pip.

O comando mágico %uv pip é uma alternativa mais rápida ao %pip. %uv pip é alimentado pelo gerenciador de pacotes uv e compartilha o mesmo ambiente virtual Notebook que %pip, portanto, os pacotes instalados com uma ferramenta são visíveis para a outra.

%uv pip é mais rápido que %pip para instalações e operações somente leitura, como list. Isso o torna bastante adequado para iteração em cima de uma especificação de ambiente.

%uv pip suporta os subcomandos padrão pip : install, uninstall, list, show, freeze, check e tree.

Python
%uv pip install simplejson
Python
%uv pip list

Outros padrões de instalação nesta página (volumes, arquivos workspace , arquivos de requisitos, controle de versão, repositórios privados) funcionam com %uv pip. Você pode substituir %pip por %uv pip em qualquer um desses exemplos.

%uv pip limitações

  • %uv pip uninstall Não é possível remover completamente as bibliotecas pré-instaladas no ambiente serverless . Apenas os metadados do pacote são removidos. Os arquivos subjacentes permanecem no sistema de arquivos e o pacote ainda pode ser importado.
  • %uv pip Não verifica conflitos de dependência com a biblioteca pré-instalada.
  • Após executar o comando %uv pip , o painel lateral Ambiente do Notebook pode exibir algumas bibliotecas pré-instaladas como instaladas pelo usuário. Trata-se de um problema de exibição e não afeta a funcionalidade do pacote.
  • %uv pip É projetado para iteração interativa rápida. Para configurar um ambiente reproduzível para o Notebook, adicione as dependências no painel lateral Ambiente do Notebook.

Instale uma biblioteca com %pip

Python
%pip install matplotlib

Instale um pacote Python wheel com %pip

Python
%pip install /path/to/my_package.whl

Desinstale uma biblioteca com %pip

nota

O senhor não pode desinstalar uma biblioteca que esteja incluída em Databricks Runtime notas sobre versões e compatibilidade ou uma biblioteca que tenha sido instalada como uma biblioteca de clustering. Se o senhor tiver instalado uma versão de biblioteca diferente da incluída em Databricks Runtime ou da instalada no clustering, poderá usar %pip uninstall para reverter a biblioteca para a versão default em Databricks Runtime ou para a versão instalada no clustering, mas não poderá usar um comando %pip para desinstalar a versão de uma biblioteca incluída em Databricks Runtime ou instalada no clustering.

Python
%pip uninstall -y matplotlib

A opção -y é obrigatória.

Instale uma biblioteca de um sistema de controle de versão com %pip

Python
%pip install git+https://github.com/databricks/databricks-cli

Você pode adicionar parâmetros ao URL para especificar coisas como a versão ou o subdiretório git. Consulte o suporte do VCS para obter mais informações e exemplos de uso de outros sistemas de controle de versão.

Instale um pacote privado com credenciais gerenciadas por Databricks secrets com %pip

O pip oferece suporte à instalação do pacote a partir de fontes privadas com autenticação básica, incluindo sistemas privados de controle de versão e repositórios privados do pacote, como Nexus e Artifactory. O gerenciamento de segredos está disponível por meio da API Databricks Secrets, que permite que o senhor armazene tokens e senhas de autenticação. Use o DBUtils API para acessar os segredos do seu Notebook. Observe que o senhor pode usar $variables no comando mágico.

Para instalar um pacote de um repositório privado, especifique o URL do repositório com a opção --index-url em %pip install ou adicione-o ao arquivo de configuração pip em ~/.pip/pip.conf.

Python
token = dbutils.secrets.get(scope="scope", key="key")
Bash
%pip install --index-url https://<user>:$token@<your-package-repository>.com/<path/to/repo> <package>==<version> --extra-index-url https://pypi.org/simple/

De forma semelhante, é possível utilizar o gerenciamento de segredos com comandos mágicos para instalar pacotes privados de sistemas de controle de versão.

Python
token = dbutils.secrets.get(scope="scope", key="key")
Bash
%pip install git+https://<user>:$token@<gitprovider>.com/<path/to/repo>

Instale um pacote do DBFS com %pip

importante

Qualquer usuário do site workspace pode modificar os arquivos armazenados no site DBFS. Databricks recomenda o armazenamento de arquivos no espaço de trabalho ou em volumes Unity Catalog.

Você pode utilizar o %pip para instalar um pacote privado que foi salvo no DBFS.

Quando o senhor upload um arquivo para DBFS, ele renomeia automaticamente o arquivo, substituindo espaços, pontos e hífens por sublinhado. Para arquivos Python wheel, pip exige que o nome do arquivo use pontos na versão (por exemplo, 0.1.0) e hífens em vez de espaços ou sublinhado, portanto, esses nomes de arquivos não são alterados.

Python
%pip install /dbfs/mypackage-0.0.1-py3-none-any.whl

Instalar um pacote de um volume com %pip

info

Visualização

Esse recurso está em Public Preview.

Com o Databricks Runtime 13.3 LTS e o acima, o senhor pode usar %pip para instalar um pacote privado que tenha sido salvo em um volume.

Quando o senhor upload um arquivo em um volume, ele renomeia automaticamente o arquivo, substituindo espaços, pontos e hífens por sublinhado. Para arquivos Python wheel, pip exige que o nome do arquivo use pontos na versão (por exemplo, 0.1.0) e hífens em vez de espaços ou sublinhado, portanto, esses nomes de arquivos não são alterados.

Python
%pip install /Volumes/<catalog>/<schema>/<path-to-library>/mypackage-0.0.1-py3-none-any.whl

Instale um pacote armazenado como um arquivo workspace com %pip

Com Databricks Runtime 11.3 LTS e acima, o senhor pode usar %pip para instalar um pacote privado que tenha sido salvo como um arquivo workspace.

Python
%pip install /Workspace/<path-to-whl-file>/mypackage-0.0.1-py3-none-any.whl

Salvar a biblioteca em um arquivo de requisitos

Python
%pip freeze > /Workspace/shared/prod_requirements.txt

Quaisquer subdiretórios no caminho do arquivo já devem existir. Se você executar o %pip freeze > /Workspace/<new-directory>/requirements.txt, o comando falhará se o diretório /Workspace/<new-directory> ainda não existir.

Use um arquivo de requisitos para instalar o biblioteca

Um arquivo de requisitos contém uma lista do pacote a ser instalado usando pip. Um exemplo de uso de um arquivo de requisitos é:

Python
%pip install -r /Workspace/shared/prod_requirements.txt

Consulte Requirements File Format para obter mais informações sobre os arquivos requirements.txt.

Recomendações de tamanho do nó do driver

O uso de bibliotecas com escopo para notebooks pode resultar em mais tráfego para o nó do driver, à medida que ele trabalha para manter o ambiente consistente em todos os nós de execução.

Quando você usa um cluster com 10 ou mais nós, o Databricks recomenda essas especificações como um requisito mínimo para o nó do driver:

  • Para um clustering de CPU de 100 nós, use r6id.8xlarge para x86 e r7gd.8xlarge para ARM.
  • Para um cluster GPU de 10 nós, utilize p2.xlarge.

Para clusters maiores, use um nó de driver maior.

Diferenças entre %pip, %sh pip e !pip

%sh e ! executam um shell comando em um Notebook; o primeiro é um Databricks comando mágico auxiliar e o último é um recurso do IPython. pip é uma abreviação de %pip quando a automagia está ativada, que é o default em Databricks Python Notebook.

Em Databricks Runtime 11.3 LTS e acima, %pip, %sh pip e !pip instalam uma biblioteca como uma Python biblioteca com escopo de Notebook. Em Databricks Runtime 10.4 LTS e abaixo, Databricks recomenda usar apenas %pip ou pip para instalar a biblioteca com escopo de Notebook. O comportamento de %sh pip e !pip não é consistente no Databricks Runtime 10.4 LTS e abaixo.

Problemas conhecidos

  • No site Databricks Runtime 9.1 LTS, a biblioteca com escopo de notebook é incompatível com o trabalho de transmissão de lotes. Databricks recomenda usar a biblioteca de clustering ou o kernel IPython.