2014-01-07 96 views
23


當我嘗試安裝角色時,我看到這個例外。Ansible-galaxy拋出ImportError:No module named yaml

$ ansible-galaxy install zzet.postgresql 
Traceback (most recent call last): 
File "/Users/myHomeDir/.homebrew/Cellar/ansible/1.4.3/libexec/bin/ansible-galaxy", line 34, in <module> 
import yaml 
ImportError: No module named yaml 

操作系統:Mac OS特立獨行
Ansible:1.4.3

有誰知道如何解決它?

回答

44

根據錯誤消息,它會嘗試導入python模塊yaml但無法找到它。 YAML的模塊被稱爲pyyaml當你pip安裝:

pip install pyyaml

如果pip在Mac上沒有安裝,那麼你可以將它安裝爲,

easy_install pip

+4

Thx!這是幫助我:pip安裝pyyaml –

+0

,適合我:sudo pip安裝yaml – CodeGroover

+13

這讓我很煩惱。在導入時爲什麼在pip和yaml中將它稱爲pyyaml?我不是一個Python開發者,但對我來說沒有意義。 –

1

我試過pip install yaml答案,它不適合我。爲了讓命令行能夠捕捉到,我必須重新安裝ansible。 IE,

失敗

ansible-galaxy install bcen01.nodejs       [43m] ✭ 
Traceback (most recent call last): 
    File "/usr/local/Cellar/ansible/1.4.3/libexec/bin/ansible-galaxy", line 34, in <module> 
    import yaml 
ImportError: No module named yaml 

重裝

brew reinstall ansible 

成功

ansible-galaxy install bcen01.nodejs       [43m] ✭ 
no version specified, installing master 
- downloading role from https://github.com/bcen/ansible-nodejs/archive/master.tar.gz 
- extracting bcen01.nodejs to /usr/local/etc/ansible/roles/bcen01.nodejs 
bcen01.nodejs was installed successfully 
+0

我試圖卸載並重新安裝ansible,並沒有爲我工作。但可能是錯誤修復,現在所有工作? –

13

對我來說pip install yaml在小牛隊中不起作用。

pip install pyyaml工作

0

運行命令來安裝最新yaml-

wget的http://pyyaml.org/download/pyyaml/PyYAML-3.12.tar.gz

焦油-xvzf PyYAML-3.12.tar.gz

CD PyYAML 3.12

Python安裝.py install

Python 2.7.12 (default, Sep 21 2017, 21:46:26) 
[GCC 4.8.4] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 

    >>> import yaml 
    >>>