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 进行初始化的主要内容,如果未能解决你的问题,请参考以下文章

学习自动化运维工具-ansible

如何让不同的 Docker 容器相互通信而不将端口暴露给全世界

conda或pip下载一直没有反应也没有错误提示,求助!

Conda 没有看到已安装的模块

conda 迁移环境

anaconda jupyter notebook 中的每个 conda 包都没有找到模块错误