Exemplos de personalizações de modelos de ambiente (de 25.1 )
Siga os exemplos que mostram como adicionar bibliotecas personalizadas ao pip criar um modelo de ambiente, usando os modelos fornecidos para Python.
- A partir do RT 25.1 e GenAI 25-A, as personalizações dos ambientes Python utilizam o formato de arquivo de requisitos
pip. - A partir do Runtime 25.1, a personalização de ambientes baseados em R não é mais suportada. Ainda é possível instalar pacotes diretamente do código do notebook e criar uma imagem personalizada.
- O processo de criação de tempos de execução personalizados watsonx.ai Runtime deployment runtimes pode ser diferente.
Incluindo pacotes pip
Para adicionar pacotes do Índice de Pacotes Python ( PyPI ), escreva o nome de cada pacote em uma linha separada. Isso instrui pip a instalação das versões mais recentes dos pacotes que estão faltando no ambiente. Por padrão, os pacotes pré-instalados no ambiente permanecem na versão pré-instalada.
Exemplo
ibm-watsonx-ai
seawater
sklearn-pandas
Como resultado:
- As versões mais recentes do
seawateresklearn-pandasestão instaladas - O pacote
ibm-watsonx-aipré-instalado permanece inalterado
Opcionalmente, você pode especificar uma versão do pacote usando ==ou restrições de versão usando >, >= <, ou <=. Essa sintaxe instrui pip a instalar uma versão compatível, mesmo que uma versão diferente esteja pré-instalada.
Exemplo
ibm-watsonx-ai>=1.5.1
seawater==3.3.5
sklearn-pandas<2
Como resultado:
- O
ibm-watsonx-aipacote é atualizado, se necessário - A versão 3.3.5 do
seawaterestá instalada - A versão mais recente do 1.x
sklearn-pandasestá instalada
Ao aplicar uma personalização, pip considera as restrições de versão dos pacotes listados e todas as dependências desses pacotes. No entanto, não pip considera as restrições de dependência de outros pacotes pré-instalados. Como resultado, ele pode substituir pacotes pré-instalados por versões que violam as restrições de dependência. Nesse caso, pip exibe uma mensagem de erro sobre dependências incompatíveis, mas considera a instalação bem-sucedida de qualquer maneira.
Exemplo
pandas-profiling
Quando esta linha é adicionada aos requisitos e aplicada ao Runtime 25.1 para Python, pip instala pandas-profiling 3.2.0 e substitui vários pacotes pré-instalados por versões mais antigas. O processo de instalação é concluído com sucesso, mas retorna uma mensagem de erro.
Aqui está um exemplo da mensagem de erro:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
autoai-ts-libs 5.0.5 requires joblib<1.5,>=1.4.2, but you have joblib 1.1.1 which is incompatible.
scikit-learn 1.6.1 requires joblib>=1.2.0, but you have joblib 1.1.1 which is incompatible.
O scikit-learn pacote é uma dependência de muitos pacotes pré-instalados, portanto, seu código pode ser afetado, mesmo que você não esteja usando o pacote diretamente.
Melhores práticas
Para evitar problemas com pacotes ausentes e dependências conflitantes, comece instalando manualmente os pacotes necessários por meio de um notebook em um ambiente de teste. Desta forma, você pode verificar interativamente se os pacotes podem ser instalados sem erros e conflitos de dependência. Verifique se há mensagens como estas no log de instalação:
Attempting uninstall: <package>
e
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed.
seguidas por
<package version> requires <dependency constraint>, but you have ... <dependency version> which is incompatible.
Se você não estiver usando os pacotes relatados com dependências incompatíveis, direta ou indiretamente, ignore as mensagens. Tenha em mente que nem sempre é óbvio se você está usando um pacote indiretamente. Por exemplo, scikit-learn é uma dependência de muitos pacotes pré-instalados, mesmo que você não esteja usando diretamente em seu código.
Em caso de dúvida, revise a instalação planejada para resolver conflitos. Depois de verificar se os pacotes foram instalados corretamente e sem violações de dependência problemáticas, crie uma personalização para seu ambiente de desenvolvimento ou produção e adicione os pacotes ao modelo de personalização.