我正在尝试使用ansible为nodepool用户创建一个virtualenv,但是失败了,如下所述。我想成为nodepool用户,因为它使用python3.5,而所有其他用户都使用服务器默认值2.7.5。看来它无法获取3.5版本。
剧本是:
- name: Create nodepool venv
become: true
become_user: nodepool
become_method: su
command: virtualenv-3.5 /var/lib/nodepool/npvenv
错误是:
fatal: [ca-o3lscizuul]: FAILED! => {"changed": false, "cmd": "virtualenv-3.5 /var/lib/nodepool/npvenv", "failed": true, "msg": "[Errno 2] No such file or directory", "rc": 2}
它可以在shell中工作。
[root@host ~]# su nodepool
[nodepool@host root]$ virtualenv-3.5 /var/lib/nodepool/npvenv
Using base prefix '/opt/rh/rh-python35/root/usr'
New python executable in /var/lib/nodepool/npvenv/bin/python3
Also creating executable in /var/lib/nodepool/npvenv/bin/python
Installing setuptools, pip, wheel...done.
答案 0 :(得分:0)
解决此问题的方法如下。
shell:源代码/var/lib/nodepool/.bashrc && virtualenv-3.5 / var / lib / nodepool / npvenv created =“ / var / lib / nodepool / npvenv”
这不是我想做的,但是会做。如果有人知道我可能会喜欢最初发布的内容,请提出建议。也许是不可能的,因为它没有拾取路径等。
我加入了create选项,因为它可以防止重做(如果存在)。