ansible安装遇到"AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'"的问题

Ansible是时下比较流行的自动化运维工具,是用Python编写的。

我的系统是Ubuntu 16.04.3 LTS。

用以下命令安装:

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible

安装过程是非常顺利的。但在测试运行:

$sudo ansible all -m ping

时,却遇到了:

AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'

的问题。在Overflow找到的解答,说这是urllib3 1.10前的版本造成的,但我的urllib是1.2版本。但Overflow上提供了强制升级requests的解决方案。

我查了以下已安装模块的版本:

python-apt (1.1.0b1)
python-dateutil (2.5.3)
python-debian (0.1.27)
python-editor (1.0)
pytz (2016.4)
pyxdg (0.25)
PyYAML (3.11)
requests (2.3.0)
scipy (0.17.0)
确实requests的版本是偏低的。首先卸载pyopenssl,然后:

pip install requests==2.6.0

然后重新安装pyopenssl。

再重新运行:

$sudo ansible all -m ping

显示:localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}

问题解决。


你可能感兴趣的:(Linux,python)