Inventaire dynamique: ec2.py
ansible 2.1.0.0
Python 2.7.10
Mac OS X 10.11.6
L'exécution d'ec2.py autonome provoque une erreur d'importation.
python ec2.py --list
Traceback (most recent call last):
File "ec2.py", line 134, in <module>
from ansible.module_utils import ec2 as ec2_utils
ImportError: No module named ansible.module_utils
Une liste d'instances
Erreur ci-dessus.
Si je commente la ligne from ansible.module_utils import ec2 as ec2_utils
le script fonctionne correctement.
La ligne a été introduite dans # 16606.
@jonatanblue que l'importation a été ajoutée par https://github.com/ansible/ansible/commit/59e499f8f00e4068b68c147b8f3002535ad706e0 qui semble être une tentative de normaliser le code de configuration du client boto.
L'implication est que pour utiliser le script d'inventaire, vous devez avoir anible installé sur la machine de telle sorte que "ansible" soit disponible dans le chemin python de votre interpréteur python par défaut. Nous prévoyons d'utiliser davantage les bibliothèques ansible dans les scripts d'inventaire dynamique au fil du temps, donc je ne vais pas annuler ce changement.
Génial d'entendre que ce n'est pas un bug. Est-ce décrit quelque part dans la documentation?
J'ai compris ce qui l'a causé à ma fin: l'installation d'Ansible avec brew
rendu ansible indisponible pour mon interpréteur Python.
Pour résoudre ce problème, j'ai désinstallé Ansible et l'ai réinstallé à l'aide de pip:
brew uninstall ansible
pip install ansible
Maintenant ansible est disponible:
python -c "import ansible;print(ansible.__version__)"
2.1.1.0
et le script fonctionne comme prévu.
Cela peut valoir la peine de le mentionner quelque part dans la documentation, ou que le script renvoie une erreur informative si ansible
n'est pas disponible dans le chemin python.
Commentaire le plus utile
Génial d'entendre que ce n'est pas un bug. Est-ce décrit quelque part dans la documentation?
J'ai compris ce qui l'a causé à ma fin: l'installation d'Ansible avec
brew
rendu ansible indisponible pour mon interpréteur Python.Pour résoudre ce problème, j'ai désinstallé Ansible et l'ai réinstallé à l'aide de pip:
Maintenant ansible est disponible:
et le script fonctionne comme prévu.
Cela peut valoir la peine de le mentionner quelque part dans la documentation, ou que le script renvoie une erreur informative si
ansible
n'est pas disponible dans le chemin python.