2016-06-30 5 views
9

Компьютер: MacBook Pro в середине 2012, работает El Capitan 10.11.4ImportError: Нет модуля по имени yaml | Анзибль

Python версии 2.7.10

Я пытался установить анзибль из источника, и я запускать эти две команды (после шаги по ansibles документации):

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

, а затем побежали это

source ./hacking/env-setup 

Я также уже установлен этот пак Kages

sudo pip install paramiko PyYAML Jinja2 httplib2 six 

Однако, если я пытаюсь запустить анзибль, введя его в терминале, я получаю следующее сообщение об ошибке.

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 

Что делать?

ответ

17

У вас есть модуль yaml? Если нет, то попробуйте установить YAML с помощью следующей команды:

sudo pip install pyyaml 
+0

Да, я уже сделал это – antong

+0

анзибль (2.2.0) cffi (1.7.0) криптография (1,4) Джанго (1.9.6) enum34 (1.1.6) Колба (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) пип (1.5.6) pyasn1 (0.1.9) pycparser (2.14) pycrypto (2.6.1) PyYAML (3.11) Setuptools (23.1.0) шесть (1.10.0) vboxapi (1,0) Werkzeug (0.11.2) wsgiref (0.1.2) yolk3k (0,9) (из списка пип) – antong

+0

Затем каталог установки YAML модуль, скорее всего, не находится в sys.path. Вы можете проверить его, импортировав sys и распечатать sys.path – bigdata2

3

@ ответ bigdata2 является правильным, но это также может случиться так, что есть конфликт с питоном 3. Таким образом, проверить пип версию (pip --version), и если это выводит Python 3 затем:

sudo python -m pip install pyyaml 

Таким образом, он устанавливается для той же версии, что и python.

3

Был такой же вопрос. Прошел мимо, используя ответ @ FranMowinckel.

Сначала я напечатал:

pip --version 

это выводимый питон 3. Но, когда я попытался:

sudo python -m pip install pyyaml 

Я получил сообщение об ошибке сказав:

Error: No module named pip

Итак, наконец-то работает :

sudo easy_install pip 

все работало нормально. Вернитесь назад и запустите:

sudo python -m pip install pyyaml 

(вы, возможно, придется выполнить это со всеми другими модулями, а) Теперь вы должны, наконец, быть в состоянии запустить первоначальную команду, которая не удалась.

0

Это должно работать:

sudo pip install pyyaml  
0

Я имел эту проблему, потому что я установил его с

sudo pip install pyyaml --upgrade 

вместо

sudo -H pip install pyyaml --upgrade 

деинсталляция и повторная установка PyYAML исправили проблему меня.

Смежные вопросы