bash - 从 bash 脚本激活 conda 环境

标签 bash conda sshpass

我想从 bash 脚本更改我的 conda 环境。 我想运行 bash script_yxz,其中“script_xyz”如下:

#!/bin/bash

conda activate my_env

并切换到 my_env。

如果我运行source script_yxz,这已经可以工作了。 但我遇到的问题是我无法使用“sshpass”在远程计算机上“获取”资源。

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

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

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

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

最佳答案

#!/bin/bash

eval "$(conda shell.bash hook)"
source ~/anaconda3/etc/profile.d/conda.sh

conda create -n testing python=3.10 -y

conda activate testing
python --version

#输出

enter image description here

关于bash - 从 bash 脚本激活 conda 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60303997/

相关文章:

linux - 创建可以导入变量并针对来自外部文本文件的变量执行代码的 bash 脚本

bash - 如何在 bash 中使用 if not 条件打印文件

python - conda 可以从 env environment.yml 自动激活 env 吗?

linux - 如何在 shell 脚本中包含包含变量的文件

python - 如何确定安装 conda 软件包所需启用的 channel ?

python - Conda想在卸载时降级不相关的包

subprocess - 在 Linux 上使用 systemd 与 sshpass 进行 Rsync : 'Host key verification failed.'

linux - sshpass 不适用于 crontab

sshpass - linux sshpass无法远程执行命令

bash - 在运行时替换 json 中的值