【问题标题】:Activating conda environment from bash script从 bash 脚本激活 conda 环境
【发布时间】:2020-02-19 15:40:15
【问题描述】:

我想从 bash 脚本更改我的 conda 环境。 我想运行bash script_yxz,其中 'script_xyz' 是这样的:

#!/bin/bash

conda activate my_env

并切换到 my_env。

如果我运行source script_yxz,这已经有效。 但是我的问题是我无法使用 'sshpass' 在远程机器上进行'source'。

为了更好地理解我的目的,我的目标是在我的终端上运行

sshpass -p "password" ssh -o user@server "bash script_xyz"

并更改服务器上的环境。 这就是为什么我需要使用 bash 而不是 source。

我在各种论坛上阅读了很多解决方案,但没有一个有效。

【问题讨论】:

标签: bash conda sshpass


【解决方案1】:

似乎默认情况下未导入 conda 脚本,因此应该修复它

source ~/anaconda3/etc/profile.d/conda.sh
conda activate <env>

【讨论】:

    【解决方案2】:

    您可以为此目的使用bashzsh 或任何shell 别名。你只需添加

    alias my_conda='source /home/$USER/anaconda3/bin/activate && conda activate MyPy38'
    

    输入.bashrc,.zshrc.any_other_shell_rc

    “注意,我的环境名称是 MyPy38。因此,根据名称和路径/home/$USER/anaconda3 替换它。 您也可以为别名创建单独的文件。只需创建一个名为 .bash_aliases 的文件并添加

    if [ -f ~/.bash_aliases ]; then
        . ~/.bash_aliases
    fi
    

    .bashrc,.zshrc.any_other_shell_rc 的行并保留命令

    alias my_conda='source /home/$USER/anaconda3/bin/activate && conda activate MyPy38'
    

    进入.bash_aliases。现在, source ~/.zshrc ~/.bashrc 或者只是关闭并打开一个新终端。运行命令 my_condaBOOM!

    此外,您还可以为jupyter-notebook jupyter-lab spyder 等添加一些其他别名

    # Just activate my conda
    alias my_conda='source /home/$USER/anaconda3/bin/activate && conda activate MyPy38'
    
    # Open Jupyter Notebook in my Env
    alias my_jupn='source /home/$USER/anaconda3/bin/activate && conda activate MyPy38 && jupyter-notebook'
    
    # Open Jupyter Lab in my Env
    alias my_jupl='source /home/$USER/anaconda3/bin/activate && conda activate MyPy38 && jupyter-lab'
    
    # Open Spyder in my Env
    alias my_spyder='source /home/$USER/anaconda3/bin/activate && conda activate MyPy38 && spyder'
    
    

    确认活动环境名称python代码

    import sys
    print(sys.executable)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 2021-01-16
      • 2016-06-08
      • 1970-01-01
      相关资源
      最近更新 更多