Gerenciando dependências com o módulo PIP Ansible

Gerenciando dependências com o módulo PIP Ansible
Python está em boas condições com Ansible - uma das mais recentes ferramentas de automação de TI por aí. Ansible exige que Python funcione corretamente.

No entanto, ainda há uma lacuna a ser preenchida entre dependências python e Ansible. Para esse fim, temos o módulo PIP em Ansible, abreviado para o programa de instalador preferido. Aqui entraremos em tudo que você precisa saber sobre o módulo PIP Ansible.

Qual é o módulo PIP?

Se você tiver um servidor remoto configurado com Ansible, provavelmente precisará gerenciar suas dependências python. O módulo PIP Ansible preenche a lacuna entre você e os pacotes Python instalados/a serem instalados em seus servidores.

O módulo PIP faz parte do “Ansible-Core.”Isso significa que todas as instalações Ansible têm o módulo PIP pronto para ir, para que você não tenha que passar pela dor de cabeça de instalá -lo.

Este módulo lida com tudo, desde a instalação de dependências até a alteração de suas versões ou removê -las. No entanto, antes de entrarmos em como você pode usar esse utilitário incrível, alguns pré -requisitos devem ser cumpridos.

Requisitos do módulo PIP

Existem dois requisitos principais que devem ser atendidos para o módulo PIP funcionar corretamente.

Seu pacote/dependência de destino já deve estar presente no servidor remoto que você gerencia.

Se você deseja usar o ambiente virtual do Python, o pacote “Virtualenv” deve ser pré -instalado no servidor remoto.

Se você não tem esses dois pré -requisitos já limpos, vá em frente e verifique se o seu sistema marque essas caixas de seleção. Uma vez feito, podemos passar a usar o módulo PIP Ansible!

Usando o módulo Ansible pip

Há várias coisas que você pode alcançar com este módulo. No entanto, primeiro, você precisaria aprender a usá -lo, quais parâmetros são necessários e quais argumentos precisam ser passados. Vejamos alguns dos parâmetros mais cruciais.

chdir - Altera o diretório atual antes da execução.

editável - Leva sim ou não (padrão), passa a bandeira editável.

extra_args - Permite argumentos pip adicionais.

nome - O nome/url da biblioteca ou dependência que você deseja instalar (o argumento pode ser uma string ou uma lista)

requisitos - Leva o caminho para um arquivo de "requisitos" presente no servidor remoto que você está acessando (funciona com chdir)

estado - Define o estado do módulo e toma ausente ou forceInstall ou mais recente ou presente (padrão).

versão - Especifica a versão do pacote no nome parâmetro.

Umask - Pega uma string octal e especifica o UMASK aplicado antes da instalação.

Depois de pegar o jeito de usar esses parâmetros e o que deve ser passado para eles, usando o módulo Ansible pip se torna um pedaço de bolo. Finalmente, dados abaixo, estão alguns atributos igualmente importantes.

check_mode - Verifique a previsão do status sem modificar o alvo.

plataforma - Sistemas operacionais -alvo suportados.

Com isso feito, você está no caminho de usar o módulo PIP para instalar e trabalhar com bibliotecas Python em seus sistemas remotos!

Como instalar um pacote Python?

Vamos começar com a instalação de um pacote Python em um servidor remoto. Usaremos os parâmetros que acabamos de discutir e ver como diferentes valores de argumento afetam a instalação.

Instalaremos o pacote Pytorch em todos os hosts passando todos argumentos para o anfitriões parâmetro. Além disso, o nome do módulo PIP em Pytorch.

- Hosts: todos
tarefas:
- Nome: Instalando o pacote Pytorch usando o módulo PIP Ansible
pip:
Nome: Pytorch

Depois de terminar com isso, você pode executar o manual digitando isso no shell Linux:
Livro de teste Ansible-PlayBook.yml

Você também pode especificar a versão exata do pacote que deseja simplesmente alterar o parâmetro de nome da seguinte maneira.

- Nome: Instalando o pacote Pytorch usando o módulo PIP Ansible
pip:
Nome: pytorch == 1.9.1

Protocolos remotos, como Git+ ou Hg+, também podem ser usados ​​para obter pacotes python. Veja como você pode instalar um pacote de um repositório do GitHub.

- Nome: Usando um protocolo remoto para instalar pacotes
pip:
Nome: git+http: // myrepository/pasta/mypackage

Seguindo em frente, há uma opção para instalar dependências em certos ambientes virtuais também. Aqui está um exemplo de como isso seria feito.

- Nome: Instalando Pytorch em um ambiente virtual específico
pip:
Nome: Pytorch
virtualenv: /mypytorch /venv
Virtualenv_site_packages: Sim

Em muitos casos, você pode encontrar arquivos de texto que contêm todos os requisitos de algum aplicativo que você deseja executar.

- Nome: Instalando a partir de requisitos.arquivo txt
pip:
Requisitos: /pasta /requisitos.TXT

Da mesma forma, o mesmo poderia ser feito para um ambiente virtual também. Dado abaixo, é um exemplo de como instalar pacotes Python de um arquivo de requisitos em um ambiente virtual específico.

- Nome: Instalando a partir de requisitos.arquivo txt em um ambiente virtual
pip:
Requisitos: /pasta /requisitos.TXT
virtualenv: /pasta /venv

Com isso dito, você deve estar bem equipado para instalar pacotes Python usando o módulo PIP Ansible. Vamos passar para alguns outros comandos importantes.

Como remover/reinstalar um pacote python?

Em uma seção anterior deste guia, aprendemos que o estado O parâmetro é crucial para qualquer operador que queremos aplicar a uma pacote subutilizada. Por exemplo, se você deseja remover um pacote python, poderá definir explicitamente o estado parâmetro de seu valor padrão (presente) para ausente. Veja como isso pode ser feito.

- Hosts: todos
tarefas:
- Nome: Remoção de pacotes Python
pip:
Nome: Pytorch
estado: ausente

Continuando pelo mesmo caminho, podemos reinstalar uma biblioteca python alterando o estado valor do parâmetro para forceInstall.

- Hosts: todos
tarefas:
- Nome: Reinstalando uma biblioteca
pip:
Nome: Pytorch
versão 1.9.1
Estado: forcereinstall

Agora você sabe como não apenas instalar pacotes Python usando o módulo Ansible PIP, mas também como removê -los ou reinstalá -los!

Conclusão

Neste guia, analisamos o módulo PIP Ansible - o que é, o que faz e como usá -lo. É um utilitário útil que permite gerenciar dependências Python em servidores remotos. Felizmente, agora você está pronto para gerenciar suas bibliotecas com eficiência!