ImportError: No Module named yaml | Ansible

2019-04-04 03:35发布

问题:

Computer: MacBook Pro mid 2012, running El Capitan 10.11.4

Python version 2.7.10

I've been trying to install ansible from source, and I've run these two commands (following the steps on ansibles documentation):

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

and then ran this

source ./hacking/env-setup

I've also already installed these packages

sudo pip install paramiko PyYAML Jinja2 httplib2 six

However, if I try and run ansible by typing it in the terminal, I get the following error.

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

What should be done here?

回答1:

Do you have yaml module installed? If not, try installing yaml using the following command:

sudo pip install pyyaml


回答2:

Had the same issue. Got past it using @FranMowinckel's answer.

First I typed:

pip --version 

it outputted python 3. But, when I tried:

sudo python -m pip install pyyaml

I got an error saying:

Error: No module named pip

So, finally running:

sudo easy_install pip

everything worked fine. Go back and run:

sudo python -m pip install pyyaml

(you may have to run this with all the other modules as well) Now you should finally be able to run your initial command which failed.



回答3:

@bigdata2's answer is correct but it might also happen that there's a conflict with python 3. So, check pip version (pip --version) and if it outputs python 3 then:

sudo python -m pip install pyyaml

So it gets installed for the same version as python.



回答4:

For python 3.6 you can install it with

pip3 install pyyaml

if there is a problem in importing, do

pip3 uninstall pyyaml

and then install it again:

pip3 install pyyaml


回答5:

This should work:

sudo pip install pyyaml    


回答6:

I had this problem because I installed it with

sudo pip install pyyaml --upgrade

instead of

sudo -H pip install pyyaml --upgrade

Uninstalling and re-installing pyyaml fixed the problem for me.



回答7:

Try this

pip install ruamel.yaml