2016-06-30 35 views
9

computer: MacBook Pro metà del 2012, in esecuzione di El Capitan versione 10.11.4ImportError: nessun modulo chiamato yaml | Ansible

Python 2.7.10

Ho cercato di installare ansible dai sorgenti, e ho eseguito questi due comandi (segue i passaggi su ansibles documentazione):

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

e poi corse questa

source ./hacking/env-setup 

ho anche già installato questi pac Kage

sudo pip install paramiko PyYAML Jinja2 httplib2 six 

Tuttavia, se provo e faccio funzionare ansible digitando nel terminale, ottengo il seguente errore.

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 

Cosa si deve fare qui?

risposta

17

Avete installato il modulo yaml? In caso contrario, provare a installare yaml utilizzando il seguente comando:

sudo pip install pyyaml 
+0

Sì, ho già fatto – antong

+0

ansible (2.2.0) CFFI (1.7.0) crittografia (1,4) Django (1.9.6) enum34 (1.1.6) Flask (0.10.1) httplib2 (0.9.2) idna (2.1) ipaddress (1.0.16) itsdangerous (0,24) Jinja2 (2.8) MarkupSafe (0,23) paramiko (2.0.1) pip (1.5.6) pyasn1 (0.1.9) pycparser (2.14) pycrypto (2.6.1) PyYAML (3.11) setuptools (23.1.0) sei (1.10.0) vboxapi (1.0) Werkzeug (0.11.2) wsgiref (0.1.2) yolk3k (0,9) (dalla lista pip) – antong

+0

Poi la directory di installazione di YAML il modulo probabilmente non si trova in sys.path Puoi controllarlo importando sys e stampando sys.path – bigdata2

3

@ risposta di bigdata2 è corretto, ma potrebbe anche accadere che ci sia un conflitto con pitone 3. Quindi, controllare la versione pip (pip --version) e se uscite Python 3 quindi:

sudo python -m pip install pyyaml 

Quindi viene installato per la stessa versione di python.

3

Aveva lo stesso problema. L'ho passato usando la risposta di @ FranMowinckel.

Per prima cosa ho digitato:

pip --version 

è emesso pitone 3. Ma, quando ho provato:

sudo python -m pip install pyyaml 

ho ottenuto un errore che dice:

Error: No module named pip

Così, finalmente in esecuzione :

sudo easy_install pip 

tutto ha funzionato bene. Torna ed eseguire:

sudo python -m pip install pyyaml 

(potrebbe essere necessario eseguire questo con tutti gli altri moduli pure) Ora si dovrebbe finalmente essere in grado di eseguire il comando iniziale, che non è riuscito.

0

Questo dovrebbe funzionare:

sudo pip install pyyaml  
0

ho avuto questo problema perché l'ho installato con

sudo pip install pyyaml --upgrade 

invece di

sudo -H pip install pyyaml --upgrade 

disinstallazione e pyyaml ​​re-installazione risolto il problema per me.

Problemi correlati