2016-01-15 5 views
31

Я пытаюсь выполнить ansible2 commnads ...Неожиданное исключение: название 'basestring' не определен при вызове ansible2

Когда я делаю:

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

я получаю:

Неожиданное исключение: имя «basestring» не определено полная обратная связь была:

Traceback (most recent call last): 
    File "/usr/local/bin/ansible-playbook", line 85, in <module> 
    sys.exit(cli.run()) 
    File "/usr/local/lib/python3.4/site-packages/ansible/cli/playbook.py", line 150, in run 
    results = pbex.run() 
    File "/usr/local/lib/python3.4/site-packages/ansible/executor/playbook_executor.py", line 87, in run 
    self._tqm.load_callbacks() 
    File "/usr/local/lib/python3.4/site-packages/ansible/executor/task_queue_manager.py", line 149, in load_callbacks 
    elif isinstance(self._stdout_callback, basestring): 
NameError: name 'basestring' is not defined 

Вот ansible --version:

ansible 2.0.0.2 
    config file = /etc/ansible/ansible.cfg 
    configured module search path = Default w/o overrides 

А вот python --version

Python 3.4.3 

ответ

49

Согласно документации, анзибль требует Python 2,6 или 2,7 на управляющем хосте: Control Machine Requirements

basestring НИКАКОГО дольше доступно в Python 3. От What’s New In Python 3.0:

Составленный basestring аннотация тип удален. Вместо этого используйте str. Типы str и bytes не имеют достаточной функциональности, чтобы гарантировать общий базовый класс. Инструмент 2to3 (см. Ниже) заменяет все случаи возникновения basestring на str.

+8

в случае, если это помогает кому-либо еще, когда я установил доступный с помощью 'pip' и' pip3', он ошибочно указал на python3, но когда я сделал 'pip2 install ansible', он работал нормально, поставив это наверху каждой полезной утилиты: '#!/usr/local/opt/python/bin/python2.7' –

+5

Я чувствую, что это недостаток в пакетах pip или python или что-то в этом роде. Я не смог бы установить pip3 что-то, что несовместимо с python3. – vastlysuperiorman

 Смежные вопросы

  • Нет связанных вопросов^_^