Unexpected Exception: name 'basestring' is not defined when invoking ansible2

后端 未结 5 716
逝去的感伤
逝去的感伤 2020-12-28 11:37

I\'m trying to execute ansible2 commnads...

When I do:

ansible-playbook -vvv -i my/inventory my/playbook.yml

I get:

5条回答
  •  被撕碎了的回忆
    2020-12-28 12:18

    Ansible below version 2.5 requires Python 2.6 or 2.7 on the control host: Control Node Requirements

    basestring is no longer available in Python 3. From What’s New In Python 3.0:

    The builtin basestring abstract type was removed. Use str instead. The str and bytes types don’t have functionality enough in common to warrant a shared base class. The 2to3 tool (see below) replaces every occurrence of basestring with str.

    So the solution is to either upgrade Ansible or downgrade Python.

提交回复
热议问题