更改ansible_python_interpreter后,Ansible失败

时间:2017-11-09 10:43:08

标签: python-2.7 ansible

更改默认的python路径后,ansible无法运行或加载任何python库

{  
   "changed":false,
   "failed":true,
   "module_stderr":"Shared connection to x.x.x.x closed.\r\n",
   "module_stdout":"Traceback (most recent call last):\r\n  File \"/home/user/.ansible/tmp/ansible-tmp-1510222878.61-64380131096787/setup.py\", line 123, in <module>\r\n    f.write(z.read('ansible_module_setup.py'))\r\n  File \"/home/user/python/lib/p`enter code here`ython2.7/zipfile.py\", line 935, in read\r\n    return self.open(name, \"r\", pwd).read()\r\n  File \"/home/user/python/lib/python2.7/zipfile.py\", line 1010, in open\r\n    close_fileobj=should_close)\r\n  File \"/home/user/python/lib/python2.7/zipfile.py\", line 526, in __init__\r\n    self._decompressor = zlib.decompressobj(-15)\r\nAttributeError: 'NoneType' object has no attribute 'decompressobj'\r\n",
   "msg":"MODULE FAILURE",
   "rc":0
}

我也试过运行ansible -m ping我得到了几乎相同的结果

{  
   "changed":false,
   "failed":true,
   "module_stderr":"Shared connection to x.x.x.x closed.\r\n",
   "module_stdout":"Traceback (most recent call last):\r\n  File \"/home/user/.ansible/tmp/ansible-tmp-1510223942.9-58678212493208/ping.py\", line 123, in <module>\r\n    f.write(z.read('ansible_module_ping.p 
y'))\r\n  File \"/home/user/python/lib/python2.7/zipfile.py\", line 935, in read\r\n    return self.open(name, \"r\", pwd).read()\r\n  File \"/home/user/python/lib/python2.7/zipfile.py\", line 1010, in open\r\
n    close_fileobj=should_close)\r\n  File \"/home/user/python/lib/python2.7/zipfile.py\", line 526, in __init__\r\n    self._decompressor = zlib.decompressobj(-15)\r\nAttributeError: 'NoneType' object has no a
ttribute 'decompressobj'\r\n",
   "msg":"MODULE FAILURE",
   "rc":0
}

ansible 2.3.2.0

python 2.7.11

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,只能通过降级到Ansible 2.1.6.0来解决它。

在此GitHub issue人员报告类似问题并将其与不兼容的Ansible / Ubuntu版本相关联:

  

当使用最新的ansible(2..3.1.0)时,我在Ubuntu服务器16.04和14.04上遇到此问题。在Ubuntu服务器14.04上回到Ansible版本2.2.2.0后,问题就消失了。所以看起来它通常是Ubuntu上的ansible 2.3.1.0的问题。