不了解conda的基础使用的话,放弃这篇文章,否则徒增烦恼。
如果本文对你有用,可以关注下我的公众号 "大叔的生信备忘录"
问题引入
image.png前段时间有个群里遇到个conda
下安装软件的问题,如上报错。
注意:他是在不进入某个conda环境下安装的软件。
他使用服务器的特点:该机构服务器已经配置好conda,并在base环境下安装了大部分生信软件。普通用户无法更改base环境,但是可以新建环境,并在自己新建环境下安装自己的软件。
猜测这个问题是因为conda环境外,无法安装。让他新建个环境,并进入后再安装软件。但是他好像是个conda新手,他的回答让我十分无语,并未进行上述操作。
我当时在该结构服务器上测试了下,当时网络没有问题,按我新建环境后再安装软件也是十分正常。
所以,自己特地在虚拟机上删除原来的conda进行测试,不进入conda到底能否安装软件。
这里不介绍conda具体安装与配置过程,有兴趣的可以查看我之前的推文学习。
测试内容
miniconda 安装后将export PATH=/home/zheng/miniconda3/bin:$PATH
加入到~/.bashrc
,并执行source ~/.bashrc
- 新建一个名为
test
的环境
conda create -n test -y
conda env list
image.png
image.png
- 测试
conda可用,但是不能说明就是展示的base
环境下的软件。新装一个软件进行测试
- 不进入环境安装
fastQC
conda install fastqc
在环境外可以成功安装软件fastqc
,如下图
- 验证
- 环境外验证调用
fastqc -v
image.png
不进入conda环境,尝试测试fastqc
安装结果
- 环境内验证
conda activate
conda list |grep 'fastqc'
conda deactivate
conda activate test
conda list |grep 'fastqc'
image.png
在base
环境内,测试到了软件fastqc
在test
环境内,未测试到软件fastqc
- 初步的测试结论
conda加入环境变量,不进入环境,依然可以安装
和调用
conda环境的软件,且实际安装和调用软件为base
环境下软件。
但是,本次测试未对依赖较多的软件进行测试安装和实际使用,具体结论是否正确,有待进一步实践检验。
- 最开始问题的解决
既然conda外调用的是base
环境,由于该机构服务器上普通用户无权限更改base
环境,所以他不可能安装成功。
所以,他只要新建个环境并进入该新环境,就可以安装软件了。
- 我的其它想法
不进入环境都可调用软件,那系统本身环境(apt安装的软件)和conda的base环境是否也可能产生冲突呢?这种冲突,是否可以尽量使用conda安装来避免呢?或者不在base环境下安装软件,而是装入到新建环境中,可否避免这种冲突呢?
网友评论