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 Python biblioteca com escopo de Notebook.

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.

O senhor pode ter mais tráfego para o nó do driver ao trabalhar com instalações de biblioteca com escopo de Notebook. Consulte Qual deve ser o tamanho do nó do driver ao trabalhar com uma biblioteca com escopo de Notebook?

Para instalar o biblioteca para todos os Notebooks anexados a um cluster, use o clustering biblioteca. Ver biblioteca de agrupamento.

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.

nota

Em Databricks Runtime 10.4 LTS e abaixo, o senhor pode usar o (legado) Databricks biblioteca utilidades. A biblioteca utilidades é suportada apenas em Databricks Runtime, não em Databricks Runtime ML. Consulte biblioteca utilidades (dbutils.biblioteca) (legado).

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.

important
  • A partir de Databricks Runtime 13.0 %pip comando não reinicia automaticamente o processo Python. Se o senhor instalar um novo pacote ou atualizar um pacote existente, talvez seja necessário usar o site dbutils.library.restartPython() para ver o novo pacote. Consulte Reiniciar o processo Python no Databricks.
  • No Databricks Runtime 12.2 LTS e abaixo, a Databricks recomenda colocar todos os comandos %pip no início do notebook. O estado do notebook é redefinido após qualquer comando %pip que modifica o ambiente. Se você criar métodos ou variáveis Python em um bloco de anotações e, em seguida, usar comandos %pip em uma célula posterior, os métodos ou variáveis serão perdidos.
  • 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 desconectando e reconectando o Notebook ou reiniciando o clustering.

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

important

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.

Qual deve ser o tamanho do nó do driver ao trabalhar com uma biblioteca com escopo de Notebook?

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 o senhor usa um clustering com 100 ou mais nós, o requisito mínimo para o nó do driver é o tipo de instância c3-standard-22-lssd.

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

Posso usar %sh pip, !pip ou pip? Qual é a diferença?

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