【conda】普通用户如何使用root安装的软件

服务器上有些软件是管理员使用root账户的权限安装的,普通用户也可以使用,有两种使用方式:

方式一:修改普通用户的.bashrc

将root的miniconda3的环境配置(/root/.bashrc)copy进文件,然后source .bashrc 即可激活root miniconda3 base环境。但这么做会更改用户自己安装miniconda3的base激活

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/data/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/root/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/root/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/root/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

方式二:使用时激活root或者别的用户的miniconda3 base环境,无需更改用户环境配置

#激活root的base环境,可使用root安装的软件
source /root/miniconda3/bin/activate
#or
conda activate /root/miniconda3/
##需要根据root安装miniconda的路径进行更改
#退出root的base环境,可退到用户的base
conda deactivate

#使用其他用户的conda软件,当然若自己用户的base不是默认开启的,也可以使用此命令进行激活
source /home/用户名/miniconda3/bin/activate
#or
##需要根据用户安装miniconda的路径进行更改
#退出
conda deactivate

~~~ 如果用户自己也安装了miniconda3,无论是使用root的miniconda3 base,还是用户自己的base,均展示为(base) [用户名@BK-machine ~]$,如果想要弄清楚是哪个base,可以使用conda env list命令查看,

# conda environments:
#
                         /Meta/software/miniconda3
base                  *  /root/miniconda3

带*号的即为当前运行的base。


此处有一处还不是很清楚,如果是使用conda activate /root/miniconda3/激活的conda 环境时,有些用户使用conda env list命令查看,不能看到这个环境列出。而source /root/miniconda3/bin/activate激活就有列出。

例子如下:

##登录后环境
(base) [XXX@BK-machine ~]$ conda env list
# conda environments:
#
base                  *  /data/XXX/miniconda
snippy-env               /data/XXX/miniconda/envs/snippy-env

##conda activate激活,没有展示变换后的环境,但终端提示符已经转换成变换后的环境:
(base) [XXX@BK-machine ~]$ conda activate /root/miniconda3
(/root/miniconda3) [XXX@BK-machine ~]$ conda env list
# conda environments:
#
base                     /data/XXX/miniconda
snippy-env               /data/XXX/miniconda/envs/snippy-env

(/root/miniconda3) [XXX@BK-machine ~]$  conda deactivate

##若使用source命令激活,既可以展示转换后的环境
(base) [XXX@BK-machine ~]$ source /data/miniconda3/bin/activate
(base) [XXX@BK-machine ~]$ conda env list                       
# conda environments:
#
                         /data/hezixiang/miniconda
                         /data/hezixiang/miniconda/envs/snippy-env
base                  *  /data/miniconda3

虽然看到这一显示的不同,但不影响使用,就没有继续深究了。估计是sourceconda activate激活机制的不同造成的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容