web-dev-qa-db-fra.com

ImportError: aucun module nommé yaml | Ansible

Ordinateur: MacBook Pro mi-2012, exécutant El Capitan 10.11.4

Python version 2.7.10

J'ai essayé d'installer ansible depuis la source, et j'ai exécuté ces deux commandes (en suivant les étapes de la documentation ansibles):

git clone git://github.com/ansible/ansible.git --recursive
cd ./ansible

puis a couru ce

source ./hacking/env-setup

J'ai également déjà installé ces packages

Sudo pip install paramiko PyYAML Jinja2 httplib2 six

Cependant, si j'essaie d'exécuter ansible en le tapant dans le terminal, j'obtiens l'erreur suivante.

Traceback (most recent call last):
File "/Users/[myusr]/rock/ansible/bin/ansible", line 81, in <module>
from ansible.cli.adhoc import AdHocCLI as mycli
File "/Users/[myusr]/rock/ansible/lib/ansible/cli/__init__.py", line 27, in <module>
import yaml
ImportError: No module named yaml

Que faut-il faire ici?

18
antong

Avez-vous installé le module yaml? Sinon, essayez d'installer yaml à l'aide de la commande suivante:

Sudo pip install pyyaml
38
bigdata2

Eu le même problème. Je l'ai dépassé en utilisant la réponse de @ FranMowinckel.

J'ai d'abord tapé:

pip --version 

il a généré python 3. Mais, quand j'ai essayé:

Sudo python -m pip install pyyaml

J'ai une erreur en disant:

Erreur: aucun module nommé pip

Donc, enfin en cours d'exécution:

Sudo easy_install pip

tout fonctionnait bien. Retournez et courez:

Sudo python -m pip install pyyaml

(vous devrez peut-être exécuter cela avec tous les autres modules également) Maintenant, vous devriez enfin pouvoir exécuter votre commande initiale qui a échoué.

6
r17n

Pour python 3.6 vous pouvez l'installer avec

pip3 install pyyaml

s'il y a un problème à l'importation, faites

pip3 uninstall pyyaml

puis réinstallez-le:

pip3 install pyyaml
4
Ali

La réponse de @ bigdata2 est correcte mais il peut aussi arriver qu'il y ait un conflit avec python 3. Donc, vérifiez la version pip (pip --version) et s'il génère python 3 alors:

Sudo python -m pip install pyyaml

Il est donc installé pour la même version que python.

3
FranMowinckel

J'ai eu ce problème car je l'ai installé avec

Sudo pip install pyyaml --upgrade

au lieu de

Sudo -H pip install pyyaml --upgrade

La désinstallation et la réinstallation de pyyaml ​​ont résolu le problème pour moi.

1
Martin Thoma

Cela devrait fonctionner:

Sudo pip install pyyaml    
0
Tushar

Essaye ça

pip install ruamel.yaml
0
Lakshman