Pip `ansible--version`命令引发错误

Pip `ansible--version`命令引发错误,pip,ansible,Pip,Ansible,大家好 我已经在我的mac上安装了ansible,它已成功安装,但当我运行命令ansible--version时,它抛出一个错误: Unhandled error: Traceback (most recent call last): File "/Library/Python/2.7/site-packages/ansible/config/manager.py", line 559, in update_config_data value, origin = self.get_

大家好

我已经在我的mac上安装了ansible,它已成功安装,但当我运行命令
ansible--version
时,它抛出一个错误:

Unhandled error:
 Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/ansible/config/manager.py", line 559, in update_config_data
    value, origin = self.get_config_value_and_origin(config, configfile)
  File "/Library/Python/2.7/site-packages/ansible/config/manager.py", line 503, in get_config_value_and_origin
    value = ensure_type(value, defs[config].get('type'), origin=origin)
  File "/Library/Python/2.7/site-packages/ansible/config/manager.py", line 124, in ensure_type
    value = tempfile.mkdtemp(prefix=prefix, dir=value)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 339, in mkdtemp
    _os.mkdir(file, 0700)
OSError: [Errno 13] Permission denied: '/Users/patrick/.ansible/tmp/ansible-local-37505vvsQNX'


Traceback (most recent call last):
  File "/usr/local/bin/ansible", line 62, in <module>
    import ansible.constants as C
  File "/Library/Python/2.7/site-packages/ansible/constants.py", line 174, in <module>
    config = ConfigManager()
  File "/Library/Python/2.7/site-packages/ansible/config/manager.py", line 291, in __init__
    self.update_config_data()
  File "/Library/Python/2.7/site-packages/ansible/config/manager.py", line 571, in update_config_data
    raise AnsibleError("Invalid settings supplied for %s: %s\n" % (config, to_native(e)), orig_exc=e)
ansible.errors.AnsibleError: Invalid settings supplied for DEFAULT_LOCAL_TMP: [Errno 13] Permission denied: '/Users/patrick/.ansible/tmp/ansible-local-37505vvsQNX'
未处理的错误:
回溯(最近一次呼叫最后一次):
更新配置数据中的文件“/Library/Python/2.7/site packages/ansible/config/manager.py”,第559行
value,origin=self.get\u config\u value\u和\u origin(config,configfile)
文件“/Library/Python/2.7/site packages/ansible/config/manager.py”,第503行,在get_config_value_和_origin中
value=确保类型(value,defs[config].get('type'),origin=origin)
文件“/Library/Python/2.7/site packages/ansible/config/manager.py”,第124行,类型为
value=tempfile.mkdtemp(prefix=prefix,dir=value)
mkdtemp中的文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py”,第339行
_mkdir(文件,0700)
OSError:[Errno 13]权限被拒绝:'/Users/patrick/.ansible/tmp/ansible-local-37505vvsQNX'
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/ansible”,第62行,在
将ansible.constants导入为C
文件“/Library/Python/2.7/site packages/ansible/constants.py”,第174行,在
config=ConfigManager()
文件“/Library/Python/2.7/site packages/ansible/config/manager.py”,第291行,在__
self.update_config_data()
更新配置数据中的文件“/Library/Python/2.7/site packages/ansible/config/manager.py”,第571行
raise AnsibleError(“为%s提供的设置无效:%s\n”%(配置,到本机(e)),源exc=e)
ansible.errors.AnsibleError:为默认\u LOCAL\u TMP提供的设置无效:[Errno 13]权限被拒绝:'/Users/patrick/.ansible/TMP/ansible-LOCAL-37505vvsQNX'

感谢你们的帮助。

检查这是否类似于:

经过进一步挖掘,我发现这个问题的真正根源是ansible.cfg中的硬编码路径

或者更近的,导致:

默认的ansible临时目录
~/.ansible/tmp
ansible文档
通过
galaxy导入程序
访问
这在
galaxy dev
本地环境中正常工作,但在CI环境中,它尝试创建dir
/.ansible/tmp
,但失败

此PR将默认ansible临时目录更改为
/tmp/ansible
,该目录位于用户主页之外(并且在本地环境中,
/tmp
具有更大的权限)


尝试并更改为
/tmp

您是如何安装的?我是通过pip“sudo pip install ansible”安装的