问题描述
想知道是否有人遇到过我所遇到的相同问题:
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