cod*_*onk 51 python python-3.x ansible ansible-2.x
我正在尝试执行ansible2 commnads ...
当我做:
ansible-playbook -vvv -i my/inventory my/playbook.yml
Run Code Online (Sandbox Code Playgroud)
我明白了:
意外的异常:名称'basestring'未定义完整的回溯是:
Run Code Online (Sandbox Code Playgroud)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
Run Code Online (Sandbox Code Playgroud)
这是 python --version
Python 3.4.3
Run Code Online (Sandbox Code Playgroud)
udo*_*dan 80
低于2.5版的Ansible在控制主机上需要Python 2.6或2.7:控制机器要求
basestring
在Python 3中不再可用.来自Python 3.0中的新功能:
内置的
basestring
抽象类型已被删除.请str
改用.该str
和bytes
类型没有足够的功能共同保证一个共享的基类.该2to3
工具(见下文)取代的每次出现basestring
用str
.
小智 18
basetring在Python 3中不可用:
对于python 2.x和3.x,可以使用以下方法修复此问题:
try:
basestring
except NameError:
basestring = str
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
45131 次 |
最近记录: |