同类问题:jenkins中执行脚本启动conda环境失败
坑:root用户对nonlogin 的source ~/.bashrc做了不作为的限制
问题描述
错误内容conda 没有初始化,就conda activate env也没有成功执行
即使在login-shell中进行了初始化,并在控制台中自己手动处理的时候都可以成功的激活环境(由 source ~/.bashrc起作用)。再运行脚本一样的会失败。
备注:在用户执行一次 conda init 后会在用户~/.bashrc中追加相关的配置初始化信息
寻因
参考login-shell nonlogin-shell区别
也就是non-login方式登录没有自动执行source ~/.bashrc 和 source /etc/profile而 login-shell的方式执行了这两个命令环境就会是执行后的状态。
jenkins登录使用的是non-login方式,要在执行相关的命令前执行source ~/.bashrc 和 source /etc/profile