2016-06-30 12 views
9

Computer: MacBook Pro giữa năm 2012, chạy El Capitan phiên bản 10.11.4Nhập khẩu lỗi: Không có Mô-đun có tên yaml | Ansible

Python 2.7.10

Tôi đã cố gắng để cài đặt ansible từ nguồn, và tôi đã chạy hai lệnh dưới đây (sau đây các bước trên ansibles tài liệu):

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

và sau đó chạy này

source ./hacking/env-setup 

tôi cũng đã cài đặt các pac kages

sudo pip install paramiko PyYAML Jinja2 httplib2 six 

Tuy nhiên, nếu tôi cố gắng và chạy ansible bằng cách nhập vào thiết bị đầu cuối, tôi nhận được lỗi sau.

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 

Điều gì nên được thực hiện ở đây?

Trả lời

17

Bạn đã cài đặt mô-đun yaml chưa? Nếu không, hãy thử cài đặt yaml sử dụng lệnh sau:

sudo pip install pyyaml 
+0

Vâng, tôi đã làm điều đó – antong

+0

ansible (2.2.0) cffi (1.7.0) mật mã (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) sáu (1.10.0) vboxapi (1.0) Werkzeug (0.11.2) wsgiref (0.1.2) yolk3k (0.9) (từ danh sách pip) – antong

+0

Sau đó, thư mục cài đặt của yaml module có thể không có trong sys.path Bạn có thể kiểm tra nó bằng cách nhập sys và in sys.path – bigdata2

3

@ câu trả lời bigdata2 là đúng nhưng nó cũng có thể xảy ra rằng có một cuộc xung đột với python 3. Vì vậy, kiểm tra phiên bản pip (pip --version) và nếu nó ra python 3 sau đó:

sudo python -m pip install pyyaml 

Vì vậy, nó được cài đặt cho cùng phiên bản với python.

3

Có cùng vấn đề. Vượt qua nó bằng câu trả lời của @ FranMowinckel.

Trước tiên tôi gõ:

pip --version 

nó outputted python 3. Tuy nhiên, khi tôi đã cố gắng:

sudo python -m pip install pyyaml 

tôi đã nhận một lỗi nói:

Error: No module named pip

Vì vậy, cuối cùng chạy :

sudo easy_install pip 

mọi thứ hoạt động tốt. Quay trở lại và chạy:

sudo python -m pip install pyyaml 

(bạn có thể phải chạy này với tất cả các module khác cũng) Bây giờ bạn cuối cùng sẽ có thể chạy lệnh ban đầu của bạn mà thất bại.

0

này nên làm việc:

sudo pip install pyyaml  
0

Tôi có vấn đề này bởi vì tôi cài đặt nó với

sudo pip install pyyaml --upgrade 

thay vì

sudo -H pip install pyyaml --upgrade 

Gỡ cài đặt và cài đặt lại pyyaml ​​cố định vấn đề cho tôi.

Các vấn đề liên quan