Bibliotecas Python com escopo para notebooks

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.

A Databricks recomenda usar o comando mágico %pip para instalar bibliotecas Python com escopo Notebook .

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

Você pode experimentar mais tráfego para o nó do driver ao trabalhar com instalações de biblioteca com escopo Notebook . Consulte Qual deve ser o tamanho do nó do driver ao trabalhar com a biblioteca com escopo Notebook ?.

Para instalar bibliotecas para todos Notebook anexados a clusters, use bibliotecas clusters . Veja bibliotecaclusters .

Observação

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 bibliotecas com %pip comandos

O %pip comando é equivalente ao comando pip e tem suporte para a mesma API. As seguintes seções mostram exemplos de como você pode utilizar os comandos do %pip para gerenciar seu ambiente. Para obter mais informações sobre a instalação de pacotes Python com pip, consulte a documentação de instalação do pip e as páginas relacionadas.

Importante

  • Iniciar com comandos Databricks Runtime 13,0 %pip não reiniciam automaticamente o processo do Python. Se você instalar um novo pacote ou atualizar um pacote existente, talvez seja necessário utilizar o dbutils.library.restartPython() para visualizar os novos pacotes. 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 principal do Python (como IPython) com %pip pode fazer com que algum recurso pare de funcionar conforme o esperado. Se você tiver esses problemas, Reset o ambiente desconectando e reconectando o Notebook ou reiniciando os clusters.

Instale uma biblioteca com %pip

%pip install matplotlib

Instale um pacote Python wheel com %pip

%pip install /path/to/my_package.whl

Desinstalar uma biblioteca com %pip

Observação

Você não pode desinstalar uma biblioteca incluída no Databricks Runtime notas sobre a versão versões e compatibilidade ou uma biblioteca que foi instalada como uma bibliotecaclusters . Se você instalou uma versão de biblioteca diferente daquela incluída no Databricks Runtime ou daquela instalada nos clusters, você pode usar %pip uninstall para reverter a biblioteca para a versão default no Databricks Runtime ou a versão instalada nos clusters, mas você não é possível usar um comando %pip para desinstalar a versão de uma biblioteca incluída no Databricks Runtime ou instalada nos clusters.

%pip uninstall -y matplotlib

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

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

%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 gerenciando segredos do Databricks com %pip

Pip suporta a instalação de pacotes de fontes privadas com autenticação básica, incluindo sistemas de controle de versão privados e repositórios de pacotes privados, como Nexus e Artifactory. A gestão secreta está disponível através da API Databricks Secrets, que lhe permite armazenar tokens de autenticação e palavras-passe. Use a API DBUtils para acessar segredos do seu Notebook. Observe que você 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.

token = dbutils.secrets.get(scope="scope", key="key")
%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.

token = dbutils.secrets.get(scope="scope", key="key")
%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 você upload um arquivo no DBFS, ele renomeia automaticamente o arquivo, substituindo espaços, pontos e hífens por sublinhados. 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 sublinhados, para que esses nomes de arquivos não sejam alterados.

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

Instale um pacote de um volume com %pip

Visualização

Esse recurso está em visualização pública.

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 você upload um arquivo em um volume, ele renomeia automaticamente o arquivo, substituindo espaços, pontos e hífens por sublinhados. 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 sublinhados, para que esses nomes de arquivos não sejam alterados.

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

Instale um pacote armazenado como um arquivo de espaço de trabalho com %pip

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

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

Salvar bibliotecas em um arquivo de requisitos

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

Um arquivo de requisitos contém uma lista de pacotes a serem instalados usando pip. Um exemplo de usar um arquivo de requisitos é:

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

Consulte Formato de arquivo de requisitos para obter mais informações sobre requirements.txt arquivos.

Qual deve ser o tamanho do nó do driver ao trabalhar com bibliotecas 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 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 cluster de CPU de 100 nós, use i3,8xlarge.

  • Para um cluster GPU de 10 nós, utilize p2.xlarge.

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

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

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

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

Problemas conhecidos

  • Em Databricks Runtime 9.1 LTS, Notebook-scoped biblioteca são incompatíveis com lotes transmissão Job. Databricks recomenda usar o site cluster biblioteca ou o kernel IPython.