【问题标题】:conda not getting initialize using ansible playbookconda 没有使用 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

标签: python ansible anaconda


【解决方案1】:
  1. 您似乎执行了错误的命令。它应该是“conda init”而不是“init conda”

  2. 您可以将这两个 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”:[]}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    • 2017-09-16
    • 2022-07-19
    • 1970-01-01
    • 2015-02-19
    • 2016-06-18
    相关资源
    最近更新 更多