conda 没有使用 ansible playbook 进行初始化
Posted
技术标签:
【中文标题】conda 没有使用 ansible playbook 进行初始化【英文标题】:conda not getting initialize using ansible playbook 【发布时间】:2019-10-11 17:42:36 【问题描述】:我正在使用 ansible 自动安装 conda,但激活 conda 的最后一步(conda init)失败了。
我试图运行 conda init 作为 shell 脚本和命令模块都失败了。
代码:
--- - 主持人:所有 收集事实:真 任务: - 名称:Ansible 复制文件到远程服务器 复制: src:~/Downloads/Anaconda3-2019.03-Linux-x86_64.sh 目标:~/Downloads/Anaconda3-2019.03-Linux-x86_64.sh - 名称:运行安装程序 Anaconda 命令:bash ~/Downloads/Anaconda3-2019.03-Linux-x86_64.sh -b - 名称:添加路径 外壳:导出 PATH=~/anaconda3/bin:$PATH - 名称:初始化 conda 外壳:初始化康达 参数: 可执行文件:/bin/bash错误:
“stderr”:“预期的单字符参数。”,“stderr_lines”:
【问题讨论】:
哪一行显示错误? 关于初始化 conda 【参考方案1】:您似乎执行了错误的命令。它应该是“conda init”而不是“init conda”
您可以将这两个 shell 任务合二为一并执行它。 更新代码如下:
---
- hosts: all
gather_facts: true
tasks:
- name: Ansible copy file to remote server
copy:
src: ~/Downloads/Anaconda3-2019.03-Linux-x86_64.sh
dest: ~/Downloads/Anaconda3-2019.03-Linux-x86_64.sh
- name: Run the installer Anaconda
command: bash ~/Downloads/Anaconda3-2019.03-Linux-x86_64.sh -b
- name: Add path and initialize conda
shell: export PATH=~/anaconda3/bin:$PATH && conda init
args:
executable: /bin/bash
【讨论】:
【参考方案2】:由 shell 模块设置的变量 PATH 仅在此任务(shell 会话)中可用。试试
shell: "export PATH=~/anaconda3/bin:$PATH; init conda"
args:
executable: /bin/bash
【讨论】:
致命:[192.168.88.85]:失败! => “已更改”:true,“cmd”:“导出 PATH=~/anaconda3/bin:$PATH; init conda”,“delta”:“0:00:00.009078”,“end”:“2019-05 -25 17:18:19.938389”、“msg”:“非零返回码”、“rc”:1、“start”:“2019-05-25 17:18:19.929311”、“stderr”:“预期单个字符参数。”,“stderr_lines”:[“预期的单个字符参数。”],“stdout”:“”,“stdout_lines”:[]以上是关于conda 没有使用 ansible playbook 进行初始化的主要内容,如果未能解决你的问题,请参考以下文章