Bibliotecas de Python com âmbito de bloco de notas
As bibliotecas com escopo de bloco de anotações permitem criar, modificar, salvar, reutilizar e compartilhar ambientes Python personalizados específicos de um bloco de anotações. Quando você instala uma biblioteca com escopo de bloco de anotações, somente o bloco de anotações atual e todos os trabalhos associados a esse bloco de anotações têm acesso a essa biblioteca. Outros blocos de anotações conectados ao mesmo cluster não são afetados.
As bibliotecas com escopo de bloco de anotações não persistem entre sessões. Você deve reinstalar bibliotecas com escopo de bloco de anotações no início de cada sessão ou sempre que o bloco de anotações for desanexado de um cluster.
O Databricks recomenda o uso do %pip
comando magic para instalar bibliotecas Python com escopo de notebook.
Você pode usar %pip
em blocos de anotações agendados como trabalhos. Se você precisar gerenciar o ambiente Python em um notebook Scala, SQL ou R, use o comando magic em conjunto com %python
o %pip
.
Você pode enfrentar 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 bibliotecas com escopo de notebook?.
Para instalar bibliotecas para todos os blocos de anotações conectados a um cluster, use bibliotecas de cluster. Veja Bibliotecas de cluster.
Para obter uma visão geral abrangente das opções disponíveis para instalar bibliotecas Python no Databricks, consulte Gerenciamento de ambiente Python.
Nota
No Databricks Runtime 10.4 LTS e inferior, você pode usar o utilitário de biblioteca (legado) Azure Databricks. O utilitário de biblioteca é suportado apenas no Databricks Runtime, não no Databricks Runtime ML. Consulte Utilitário de biblioteca (dbutils.library) (legado).
Gerenciar bibliotecas com %pip
comandos
O %pip
comando é equivalente ao comando pip e suporta a mesma API. As seções a seguir mostram exemplos de como você pode usar %pip
comandos para gerenciar seu ambiente. Para obter mais informações sobre como instalar pacotes Python com pip
o , consulte a documentação de instalação do pip e as páginas relacionadas.
Importante
- A partir do Databricks, os comandos do 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 usardbutils.library.restartPython()
para ver os novos pacotes. Consulte Reiniciar o processo Python no Azure Databricks. - No Databricks Runtime 12.2 LTS e inferior, o Databricks recomenda colocar todos os
%pip
comandos no início do notebook. O estado do bloco de anotações é redefinido após qualquer%pip
comando que modifique o ambiente. Se você criar métodos Python ou variáveis em um bloco de anotações e, em seguida, usar%pip
comandos em uma célula posterior, os métodos ou variáveis serão perdidos. - Atualizar, modificar ou desinstalar pacotes Python principais (como IPython) com pode fazer com
%pip
que alguns recursos parem de funcionar conforme o esperado. Se você tiver esses problemas, redefina o ambiente desanexando e reconectando o bloco de anotações ou reiniciando o cluster.
Instale uma biblioteca com %pip
%pip install matplotlib
Instale um pacote de roda Python com %pip
%pip install /path/to/my_package.whl
Desinstalar uma biblioteca com %pip
Nota
Não é possível desinstalar uma biblioteca incluída nas versões e compatibilidade das notas de versão do Databricks Runtime ou uma biblioteca que tenha sido instalada como uma biblioteca de cluster. Se você tiver instalado uma versão de biblioteca diferente da incluída no Databricks Runtime ou da instalada no cluster, poderá reverter %pip uninstall
a biblioteca para a versão padrão no Databricks Runtime ou para a versão instalada no cluster, mas não poderá usar um %pip
comando para desinstalar a versão de uma biblioteca incluída no Databricks Runtime ou instalada no cluster.
%pip uninstall -y matplotlib
A -y
opção é obrigatória.
Instale uma biblioteca a partir de um sistema de controle de versão com %pip
%pip install git+https://github.com/databricks/databricks-cli
Você pode adicionar parâmetros à URL para especificar coisas como a versão ou o subdiretório git. Consulte o suporte VCS para obter mais informações e exemplos de utilização de outros sistemas de controlo de versão.
Instale um pacote privado com credenciais gerenciadas por 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. O gerenciamento de segredos está disponível por meio da API Databricks Secrets, que permite armazenar tokens de autenticação e senhas. Use a API DBUtils para acessar segredos do seu bloco de anotações. Note que você pode usar $variables
em comandos mágicos.
Para instalar um pacote a partir de um repositório privado, especifique o URL do repositório com a --index-url
opção de adicioná-lo %pip install
ao pip
arquivo de configuração 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/
Da mesma forma, você pode usar o gerenciamento secreto 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 espaço de trabalho pode modificar arquivos armazenados no DBFS. O Azure Databricks recomenda armazenar arquivos em espaços de trabalho ou em volumes do Catálogo Unity.
Você pode usar %pip
para instalar um pacote privado que foi salvo no DBFS.
Quando você carrega um arquivo no DBFS, ele renomeia automaticamente o arquivo, substituindo espaços, pontos e hífenes por sublinhados. Para arquivos de roda Python, pip
requer que o nome do arquivo use períodos na versão (por exemplo, 0.1.0) e hífenes 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 a partir de um volume com %pip
Importante
Esta funcionalidade está em Pré-visualização Pública.
Com o Databricks Runtime 13.3 LTS e superior, você pode usar %pip
para instalar um pacote privado que foi salvo em um volume.
Quando você carrega um arquivo em um volume, ele renomeia automaticamente o arquivo, substituindo espaços, pontos e hífenes por sublinhados. Para arquivos de roda Python, pip
requer que o nome do arquivo use períodos na versão (por exemplo, 0.1.0) e hífenes 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 superior, você pode usar %pip
para instalar um pacote privado que foi salvo como um arquivo de espaço de trabalho.
%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
Todos os subdiretórios no caminho do arquivo já devem existir. Se você executar %pip freeze > /Workspace/<new-directory>/requirements.txt
o , o comando falhará se o diretório /Workspace/<new-directory>
ainda não existir.
Usar um arquivo de requisitos para instalar bibliotecas
Um arquivo de requisitos contém uma lista de pacotes a serem instalados usando pip
o . Um exemplo de uso de 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 de bloco de anotações pode resultar em mais tráfego para o nó do driver à medida que ele trabalha para manter o ambiente consistente entre os nós do executor.
Quando você usa um cluster com 10 ou mais nós, o Databricks recomenda estas especificações como um requisito mínimo para o nó do driver:
- Para um cluster de CPU de 100 nós, use Standard_DS5_v2.
- Para um cluster de GPU de 10 nós, use Standard_NC12.
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 Databricks enquanto o segundo é um recurso do IPython.
pip
é uma abreviação para %pip
quando o automagic está habilitado, que é o padrão nos blocos de anotações Python do Azure Databricks.
No Databricks Runtime 11.3 LTS e superior, %pip
, %sh pip
e !pip
todos instalam uma biblioteca como uma biblioteca Python com escopo de notebook. No Databricks Runtime 10.4 LTS e inferior, o Databricks recomenda usar apenas %pip
ou pip
instalar bibliotecas com escopo de notebook. O comportamento de %sh pip
e !pip
não é consistente no Databricks Runtime 10.4 LTS e inferior.
Problemas conhecidos
- No Databricks Runtime 9.1 LTS, as bibliotecas com escopo de notebook são incompatíveis com trabalhos de streaming em lote. O Databricks recomenda o uso de bibliotecas de cluster ou do kernel IPython.