No obstante, todavía hay una brecha que se debe llenar entre las dependencias de Python y Ansible. Para este propósito, tenemos el módulo PIP en Ansible, abreviatura del programa de instalador preferido. Aquí entraremos en todo lo que necesite saber sobre el módulo PIP Ansible.
¿Cuál es el módulo PIP??
Si tiene un servidor remoto configurado con Ansible, probablemente necesite administrar sus dependencias de Python. El módulo PIP ansible une el espacio entre usted y los paquetes de Python instalados/que se instalarán en sus servidores.
El módulo PIP es parte del "núcleo ansible."Esto significa que todas las instalaciones Ansible tienen el módulo PIP listo para comenzar, por lo que no tendrá que pasar por el dolor de cabeza de instalarlo.
Este módulo maneja todo, desde la instalación de dependencias hasta cambiar sus versiones o eliminarlas por completo. Sin embargo, antes de entrar en cómo puede usar esta increíble utilidad, se deben cumplir algunos requisitos previos.
Requisitos del módulo PIP
Hay dos requisitos principales que deben cumplirse para que el módulo PIP funcione correctamente.
Su paquete/dependencia de destino ya debe estar presente en el servidor remoto que administra.
Si desea utilizar el entorno virtual de Python, el paquete "VirtualEnv" debe preinstalarse en el servidor remoto.
Si no tiene estos dos requisitos previos ya aclarados, continúe y asegúrese de que su sistema marque estas casillas de verificación. Una vez hecho, podemos pasar a usar el módulo PIP ansible!
Usando el módulo PIP ansible
Hay varias cosas que puede lograr con este módulo. Sin embargo, primero, necesitaría aprender a usarlo, qué parámetros se requieren y qué argumentos deben aprobarse. Veamos algunos de los parámetros más cruciales.
chdir - Cambia el directorio actual antes de la ejecución.
editable - Acepta Sí o No (predeterminado), pasa la bandera editable.
extra_args - Permite argumentos PIP adicionales.
nombre - El nombre/URL de la biblioteca o dependencia que desea instalar (el argumento puede ser una cadena o una lista)
requisitos - Toma la ruta a un archivo de "requisitos" que está presente en el servidor remoto que está accediendo (funciona con Chdir)
estado - Define el estado del módulo y toma ausente o Forceinstall o el último o presente (por defecto).
versión - Especifica la versión del paquete en el nombre parámetro.
Umask - Toma una cadena octal y especifica el Umask aplicado antes de la instalación.
Una vez que te domina de usar estos parámetros y lo que se les debe pasar, usar el módulo PIP ansible se convierte en un pedazo de pastel. Finalmente, a continuación se detallan algunos atributos igualmente importantes.
check_mode - Verifique la predicción del estado sin modificar el objetivo.
plataforma - Sistemas operativos de objetivos compatibles.
Con eso hecho, está en camino de usar el módulo PIP para instalar y trabajar con las bibliotecas de Python en sus sistemas remotos!
Cómo instalar un paquete Python?
Comencemos con la instalación de un paquete Python en un servidor remoto. Usaremos los parámetros que acabamos de discutir y veremos cómo los diferentes valores de argumentos afectan la instalación.
Instalaremos el paquete Pytorch en todos los hosts pasando todo argumentos al Hospedadores parámetro. Además, el nombre del módulo PIP en pytorch.
- Anfitriones: todos
tareas:
- Nombre: Instalación del paquete Pytorch utilizando el módulo PIP Ansible
pepita:
Nombre: Pytorch
Una vez que haya terminado con eso, puede ejecutar el libro de jugadas escribiendo esto en la carcasa de Linux:
Ansible-Playbook Testbook.YML
También puede especificar la versión exacta del paquete que desea simplemente cambiando el parámetro de nombre de la siguiente manera.
- Nombre: Instalación del paquete Pytorch utilizando el módulo PIP Ansible
pepita:
Nombre: Pytorch == 1.9.1
Los protocolos remotos como Git+ o Hg+ también se pueden usar para obtener paquetes de Python. Así es como podría instalar un paquete desde un repositorio de GitHub.
- Nombre: Uso de un protocolo remoto para instalar paquetes
pepita:
Nombre: git+http: // myrepository/carpeta/mypackage
Continuando, hay una opción para instalar dependencias en ciertos entornos virtuales también. Aquí hay un ejemplo de cómo se haría eso.
- Nombre: Instalación de Pytorch en un entorno virtual específico
pepita:
Nombre: Pytorch
virtualenv: /mypytorch /venv
virtualenv_site_packages: sí
En muchos casos, puede encontrar archivos de texto que contienen todos los requisitos de alguna aplicación que desea ejecutar.
- Nombre: Instalación de los requisitos.archivo txt
pepita:
Requisitos: /carpeta /requisitos.TXT
Del mismo modo, lo mismo podría hacerse para un entorno virtual también. A continuación se muestra un ejemplo de cómo instalar paquetes de Python desde un archivo de requisitos en un entorno virtual particular.
- Nombre: Instalación de los requisitos.archivo txt en un entorno virtual
pepita:
Requisitos: /carpeta /requisitos.TXT
virtualenv: /carpeta /venv
Dicho esto, debe estar bien equipado para instalar paquetes de Python utilizando el módulo PIP Ansible. Pasemos a otros comandos importantes.
Cómo eliminar/reinstalar un paquete Python?
En una sección anterior de esta guía, aprendimos que el estado El parámetro es crucial para cualquier operador que deseamos aplicar a un paquete de infrautilización. Por ejemplo, si desea eliminar un paquete Python, puede establecer explícitamente el estado Parámetro desde su valor predeterminado (presente) a ausente. Así es como eso se puede hacer.
- Anfitriones: todos
tareas:
- Nombre: eliminar los paquetes de Python
pepita:
Nombre: Pytorch
Estado: ausente
Continuando en el mismo camino, podemos reinstalar una biblioteca de Python cambiando el estado valor del parámetro para Forceinstall.
- Anfitriones: todos
tareas:
- Nombre: Reinstalación de una biblioteca
pepita:
Nombre: Pytorch
versión 1.9.1
Estado: ForceInstall
Ahora sabe cómo no solo instalar paquetes de Python utilizando el módulo PIP Ansible, sino también cómo eliminarlos o reinstalarlos!
Conclusión
En esta guía, observamos el módulo PIP ansible: qué es, qué hace y cómo usarlo. Es una utilidad útil que le permite administrar las dependencias de Python en servidores remotos. Con suerte, ahora está listo para administrar sus bibliotecas de manera eficiente!