更改默认的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
非常感谢任何帮助!
答案 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的问题。