ImportError:通过PIP安装Ansible 2.9后,没有名为ansible的模块

问题描述

想知道是否有人遇到过我所遇到的相同问题:

Traceback (most recent call last):
  File "/usr/local/ansible2.9/bin/ansible-playbook",line 34,in <module>
    from ansible import context
ImportError: No module named ansible

因此我们在服务器上安装了2个ansible版本,并且想要在ansible 2.9中运行某些作业,因此我们为每个版本创建了单独的环境。因此,我激活了ansible 2.9 env,然后继续运行通常的命令“ ansible-playbook playbook.yml ....”,但出现此错误

该软件包是通过pip安装的,请参见以下内容

[root@jenkins local]# virtualenv-2.7 --no-site-packages /usr/local/ansible2.9
New python executable in /usr/local/ansible2.9/bin/python2.7
Also creating executable in /usr/local/ansible2.9/bin/python
Installing setuptools,pip,wheel...done.
[root@jenkins local]# source /usr/local/ansible2.9/bin/activate
(ansible2.9) [root@jenkins local]# pip2.7 install git+git://github.com/ansible/ansible.git@stable-2.9

请注意,所有必需的库均已安装。还安装了Python 2.7。我正在使用RHEL6。Ansible 2.7环境可以正常工作,但是最近安装的版本抛出“ ImportError:Nos named ansible模块”

有人知道如何解决此问题吗?谢谢!

解决方法

找到了解决方案。似乎尚未正确设置Ansible 2.9的许可。使用以下命令对其进行了修复:

chmod -R 644 /usr/local/ansible2.9/ 找到/usr/local/ansible2.9/ -type d -print0 | xargs -0 chmod 755

此外,对于Ansible 2.9与openstack一起使用,openstacksdk不够用,仍然需要安装“未来”库。

命令:pip将来安装ansible openstacksdk 资源: 问题-https://github.com/ansible/ansible/issues/68616 解决-https://github.com/atodorov/lorax/commit/5103e0b585564c62e3007b68d945fc56a542c474