网站/小程序/APP个性化定制开发,二开,改版等服务,加扣:8582-36016

在Anaconda中conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理,下面这篇文章主要给大家介绍了关于如何在shell脚本中激活conda虚拟环境的相关资料,需要的朋友可以参考下

在shell脚本中激活conda虚拟环境

常用命令行激活conda的env的命令有2种:

conda activate ENV_NAME
source /home/zhaohuiyao/minconda3/bin/activate ENV_NAME

但是如果你想在一个shell脚本中激活conda的env,有许多办法。我这里只提供了一种我使用的。

情况1: 直接使用conda activate ENV_NAME 会报错

请添加图片描述

这种情况,你只需要用source /home/zhaohuiyao/miniconda3/bin/activate ENV_NAME即可,再次运行shell脚本。

情况2: 出现source:not found的报错情况,这与你的linux版本有关以及shell解析器有关

请添加图片描述

ubuntu系统的默认shell解析器是dash,你需要将dash改成bash,要root权限,我没有。(Centos就不会有这个问题)

查看系统版本信息命令:cat /proc/version

查看默认解析器命令:ls -l /bin/sh

请添加图片描述

最简单:你的shell首行是#!/bin/bash,那么你只需要在执行脚本时用/bin/bash ./run.sh 即可,就能识别source命令

因为我们一般执行shell脚本的方法是:

①提高权限:chomd 775 ./run.sh,然后直接./run.sh

②直接:sh ./run.sh

这两种都是用默认shell解析器,而Ubuntu默认是dash,因此会有冲突

当然如果你有root权,你可以,dpkg-reconfigure dash,选择no,之后再次运行ls -l /bin/sh,就会是/bin/sh -> bash

查看自己shell解析器:grep zhaohuiyao /etc/passwd


评论 0

暂无评论
0
0
0
立即
投稿
发表
评论
返回
顶部