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 .
Para obter uma visão geral abrangente das opções disponíveis para instalar a Python biblioteca em Databricks, consulte Python environment management.
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 odbutils.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.
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.