在 CentOS 8 上安装 ansible 失败

在 CentOS 8 上安装 ansible 失败

我无法成功安装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

相关内容