我正在尝试使用这些Python模块运行ansible-playbook: https://github.com/dkorn/manageiq-ansible-module/tree/master/library
我没有遇到以下错误:
from manageiq_client.api import ManageIQClient as MiqApi
ImportError: No module named manageiq_client.api
现在,我知道我只需要在我运行的机器上安装manageiq_client,但这实际上是我无法做到的,因为我没有root权限来安装任何东西。 有人告诉我使用script:
但我不确定如何。 提前谢谢!
答案 0 :(得分:2)
hacking/test-module脚本用于developing a module,但它绕过了ansible执行模块的一些方法。如果您只想运行模块/剧本,请不要使用它。
所以你的问题只是将模块安装为非root用户,并让python ansible执行拾取它。尝试的选项:
pip install --user
virtualenv
找到tip in the FAQ如何覆盖模块的python解释器。如果你把它指向virtualenv的bin/python
,那么当模块在venv“内部”运行时,你可以在venv外部执行ansible:
virtualenv /tmp/v # can be anywhere
/tmp/v/bin/pip2 install manageiq_client
ansible-playbook --extra-vars ansible_python_interpreter=/tmp/v/bin/python2 add_provider.yml
(您还可以在广告资源文件中设置ansible_python_interpreter
)