如何在amazon aws上安装ansible?

时间:2015-06-12 21:29:40

标签: ansible ansible-playbook

在最新版本的amazon linux上运行Ansible时遇到问题。

[root@ip-10-0-0-11 ec2-user]# yum install ansible --enablerepo=epel
[root@ip-10-0-0-11 ec2-user]# ansible-playbook
Traceback (most recent call last):
  File "/usr/bin/ansible-playbook", line 44, in <module>
    import ansible.playbook
ImportError: No module named ansible.playbook

使用AMI ID:ami-a10897d6。

有什么想法吗?

8 个答案:

答案 0 :(得分:28)

默认情况下,python库文件似乎没有正确的权限。运行这个修复它为我。

[root@ip-10-0-0-11 ansible]# pip install ansible

答案 1 :(得分:5)

使用pip(单独使用,不与yum结合使用)可能是目前在亚马逊Linux上的最佳选择。如果它仍然存在,我建议摆脱安装了yum的副本。

epel和epel-testing(截至1.9.2)中的RPM规范目前仅处理RHEL,Fedora和SuSE,默认情况下安装Python 2.6下的所有内容,其中最新的Amazon Linux具有默认的Python 2.7。要使RPM安装在Amazon Linux下运行,还需要做一些工作......

答案 2 :(得分:4)

对于Amazon Linux2 AMI:

sudo yum update
sudo yum install ansible

sudo amazon-linux-extras install ansible2

对于Amazon Linux AMI:

sudo yum update
sudo yum install ansible --enablerepo=epel

对于Ubuntu 18.04 AMI:

sudo apt-get update
sudo apt-get install ansible

注意:您可以使用“ pip”安装ansible。

sudo yum install python-pip
sudo pip install ansible

答案 3 :(得分:3)

为什么不从git中查看源代码并检查最新的稳定版本。

git clone git://github.com/ansible/ansible.git --recursive
$ cd ./ansible
$ source ./hacking/env-setup
git checkout <VERSION>

答案 4 :(得分:1)

默认情况下,只需启用/etc/yum.repos.d/redhat-rhui.repo文件中的以下repo即可。

<强> rhui-REGION-RHEL - 服务器 - 额外/ 7Server / x86_64的

答案 5 :(得分:0)

article表示您可以使用import json # xpath to get the data in data-product data_product = response.xpath('//*[@id="product-details"]/@data-product').extract_first() # load the json in a dictionary data = json.loads(data_product) # get the value by key reference = data['refererce'] delivery_out_of_stock = data['delivery_out_of_stock'] 在Amazon Linux上安装ansible。

答案 6 :(得分:0)

此答案基于@ M.Rajput的答案。我想定义细节,这样我就不会忘记。

警告:仅在RHEL 7.7社区AMI(ami-029c0fbe456d58bd1)上进行了测试。

# modify yum repo enabled
sudo vi /etc/yum.repos.d/redhat-rhui.repo

# find entry titled [rhui-rhel-7-server-rhui-extras-rpms]
# change "enabled=0" to "enabled=1"
# save and quit file (vim command is :wq)
sudo yum install ansible

答案 7 :(得分:0)

在要获取最新版本的Ansible的Amazon Linux 2上,请勿使用yum(当前不会提供2.10.x),我建议您使用python3-pip。

sudo yum remove ansible
sudo yum install -y python3-pip
python3 -m pip install --user --upgrade pip # Do not run pip as sudo. Do this instead.
python3 -m pip install ansible

如果您还没有python3,则在执行上述操作之前可能需要执行以下步骤:

sudo yum install -y python3.7

在我的情况下,我需要使用ansible 2.10.x,因为它还具有require.yml文件的额外好处,因为它们能够直接从git存储库安装集合。