Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

3.9K
Vistas
Ansible: Cómo cambiar la versión de Python

Al tratar de usar GNS3 para practicar el script ansible, hay una instancia de docker llamada "Automatización de red" con ansible incorporado. Sin embargo, todavía usa Python 2.7 como intérprete:

 root@Network-Automation:~# ansible --version ansible 2.7.11 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/dist-packages/ansible executable location = /usr/bin/ansible python version = 2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609]

Entiendo que puedo usar el comando "ansible-playbook --version -e 'ansible_python_interpreter=/usr/bin/python3'" para ejecutar un libro de jugadas con la versión 3 de Python, o puedo especificar var dentro del libro de jugadas:

 - name: Common package hosts: all gather_facts: no vars: ansible_python_interpreter: /usr/bin/python3 roles: - { role: python, tags: [ init, python, common, addusers] } ... ...

Sin embargo, me gustaría tener una forma permanente de obligar a ansible a usar la versión Python3. ¿Cómo puedo conseguir esto? Gracias.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Según https://docs.ansible.com/ansible/latest/reference_appendices/interpreter_discovery.html , simplemente puede configurarlo en el inventario de ese host o en su archivo de configuración para ansible (que también se puede enviar en el mismo directorio que los libros de jugadas y/o el inventario):

Para controlar el comportamiento de descubrimiento:

  • para hosts y grupos individuales, use la variable de inventario ansible_python_interpreter
  • globalmente, use la clave interpreter_python en la sección [predeterminada] de ansible.cfg
over 4 years ago · Santiago Trujillo Denunciar

0

¿Por qué no usar el directorio var en su función?

 ├── defaults │  └── main.yml ├── files ├── handlers │  └── main.yml ├── meta │  └── main.yml ├── README.md ├── tasks │  └── main.yml ├── templates ├── tests │  ├── inventory │  └── test.yml └── vars └── main.yml

en vars/main.yml simplemente agregue....

 --- # vars file for XXXX ansible_python_interpreter: /usr/bin/python3
over 4 years ago · Santiago Trujillo Denunciar

0

Agregando algunos puntos que podría pasar por alto según los comentarios anteriores:

  • En la publicación original, ansible se instaló con una cuenta raíz, que en muchos otros entornos no usará la raíz. En este caso, debe sudo su y luego instalar ansible con pip3; de lo contrario, terminará instalándose para su cuenta solo en: ~/.local/bin
  • Para la nueva versión de pip, se recomienda usar python3 -m pip install xxx que ejecutar directamente pip3 install xxx
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda