我最近升级到OSX High Sierra,现在每当我尝试在Mac上的Ansible中使用vmware_guest时,都会得到此信息:

fatal: [localhost -> localhost]: FAILED! => {"changed": false, "msg": "PyVmomi
Python module required. Install using \"pip install PyVmomi\""}


如您所见,它找不到pyVmomi。请注意,这是委派给localhost的,因此它在Mac上运行,而不是在某些远程服务器上运行。我尝试安装并重新安装pyVmomi,甚至重新安装了整个python安装程序。如您所见,模块在那里:

➜  environment git:(rhel) python -c "from pyVmomi import vim"
➜  environment git:(rhel) python2 -c "from pyVmomi import vim"
➜  environment git:(rhel) python3 -c "from pyVmomi import vim"


我在用:


使用自制软件安装的Python 2.7.14
使用pip安装Ansible 2.5.0
OSX高山脉

最佳答案

经过大量挖掘之后,我发现机器上的问题是缺少另一个软件包。
罪魁祸首是来自ansible / vmware.py的代码:

   try:
    # requests is required for exception handling of the ConnectionError
    import requests
    from pyVim import connect
    from pyVmomi import vim, vmodl
    HAS_PYVMOMI = True
except ImportError:
    HAS_PYVMOMI = False


`

您必须能够在此try块中导入所有导入,才能将HAS_PYVMOMI设置为True
在我的机器上,我缺少请求所导入的软件包,因此try块失败。卸载并重新安装pyVmomi没有帮助,也没有帮助。我的机器是CentOS 7.4 VM。

10-04 19:19