python - 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。我正在使用 RHEL 6。Ansible 2.7 环境运行良好,但是这个最近安装的版本抛出“ImportError: No module 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 是不够的,还需要安装“future”库。
命令:pip install ansible openstacksdk future 来源:问题 - https://github.com/ansible/ansible/issues/68616 修复 - https://github.com/atodorov/lorax/commit/5103e0b585564c62e3007b68d945fc56a542c474
推荐阅读
- python - 如何检测列表中的每个列表是否与其他列表重叠?
- c# - WPF DataGrid 列属性按列名
- python - 在嵌套的json文档中将字符串解析为dict
- javascript - 如何使用 Javascript 将 JSON 中的浮点值转换为小数点后两位
- html - puppeteer 图像中断问题
- r - NA 在 R 中的表现如何
- laravel - 从 Laravel 7 中的 URL 中删除 /public
- php - 在 laravel-spatie 包中添加额外字段的正确方法是什么?
- javers - Javers ~ 查询仓库的当前状态
- android - 嵌套协程:父协程调度器的类型