我无法成功安装ansible,我知道基本命令是:
yum install ansible
但输出是:
[root@localhost ~]# yum install ansible Last metadata expiration check: 0:36:48 ago on Sun 13 Oct 2019 13:27:03 CEST. Error: Problem: conflicting requests
- nothing provides PyYAML needed by ansible-2.8.5-1.el7.noarch
- nothing provides python-setuptools needed by ansible-2.8.5-1.el7.noarch
- nothing provides python-six needed by ansible-2.8.5-1.el7.noarch
- nothing provides python-jinja2 needed by ansible-2.8.5-1.el7.noarch
- nothing provides python2-cryptography needed by ansible-2.8.5-1.el7.noarch
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
我已经尝试过以下命令:
yum install -y epel-release yum install -y
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y 安装 python2
百胜安装 python3-pip
pip3安装ansible
的输出ansible --version
是:
[root@localhost ~]# ansible --version ansible 2.8.5
配置文件 = 无
配置模块搜索路径 = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python 模块位置 = /usr/local/lib/python3.6/site-packages/ansible
可执行文件位置 = /usr/local/bin/ansible
python 版本 = 3.6.8 (默认值,2019 年 10 月 7 日,17:58:22 ) [GCC 8.2.1 20180905 (红帽 8.2.1-3)]
非常感谢任何帮助。
答案1
在一条评论中明确指出,pip
永远不应以用户身份运行sudo
/在root
用户下运行。为什么是因为它很容易将 RPM 打包的 Python 包与pip
.迟早有些东西会停止解决这个混乱的问题。
从如何在 CentOS/RHEL 8 中安装 Ansible,对于 CentOS 8(缺少 RHEL 8 所具有的基于订阅的存储库),您可以使用以下命令virtualenv
进行安全安装:
sudo yum install python3 python3-virtualenv python3-pip
cd ~
mkdir ansible
virtualenv-3 ansible
. ansible/bin/activate
pip3 install ansible
然后您可以直接调用~/ansible/bin/ansible-playbook
或添加~/ansible/bin
到环境变量中PATH
以使用ansible
.
答案2
您应该安装 python 和 pip:
sudo yum install python3 python3-pip
之后您将能够运行:
sudo pip3 install ansible
Ansible 在 CentOS 8 上成功安装
答案3
$ sudo yum install epel-release
$ sudo yum install ansible
为我工作。
答案4
我今天使用 yum 安装命令遇到了同样的问题。 CentOS 8 版本默认附带 Python3。
你可以通过查看一下python3 -V
。
这应该显示 python 版本,如果响应是肯定的,则继续。现在我们需要安装pip
:
sudo dnf install python3-pip
它会要求确认两次。y
每次都选择。
现在我们只需要ansible
在这里安装即可。
pip3 install ansible --user