python版本3.7,因项目需要,安装multiqc,结果报错,显示:
Package wheel conflicts for:
multiqc -> python=3.5 -> pip -> wheel
python=3.7 -> pip -> wheel
Package python_abi conflicts for:
python=3.7 -> pip -> setuptools -> python_abi=3.7[build=*_cp37m]
Package pip conflicts for:
python=3.7 -> pip
multiqc -> python=3.5 -> pip
Package certifi conflicts for:
python=3.7 -> pip -> setuptools -> certifi[version='>=2016.09|>=2016.9.26']
Package setuptools conflicts for:
multiqc -> setuptools
python=3.7 -> pip -> setuptools
Package ca-certificates conflicts for:
python=3.7 -> openssl[version='>=1.1.1a,<1.1.2a'] -> ca-certificates
multiqc -> python=3.5 -> ca-certificates
(py37)
google 了一下,找到的答案解释是:multiqc支持python3.5的环境,在python3.7环境中和一些包冲突,所以,解决办法就是用conda新建一个python3.5的环境。
当 当 当!此时需要回顾如何用anaconda创建环境:
1. 创建环境
# 使用conda创建1个自环境,并制定python版本为3.5
conda create -n py3test python=3.5
conda create -n rna
# 创建一个小环境名为rna
conda install python=2
# 安装python 2版本
# 以上两句话可以等同于一句命令:conda create -n rna python=2
2. 激活环境
在安装结束以后,怎么进入到我们的环境中呢?我们先来测试一下不进入py3test子环境之前python的位置以及版本,以及进入子环境以后python的位置及版本,在进入子环境以后,你会发现在你的终端最开头位置的括号内写着子环境的名字。
# 查看默认情况下(通常是主环境)的python位置
which python
# 查看python版本
python -V
# 激活进入py3test 子环境
conda activate py3test
# 再次查看的python位置
which python
# 再次查看python版本
python -V
在子环境里安装软件的方法,跟外部环境一样,没有任何区别,直接conda install就好!
同时,在子环境里安装的各种软件都不会影响外部环境,所以可以随便安~~ 随便giao~
退出子环境,回到默认的环境的命令也很简单。
3. 退出环境
# 退出子环境
conda deactivate
注意:不要把conda deactivate
输入成conda deactivate py37
,
因为只能停用活动环境,所以conda deactivate不需要也不接受参数。这里的错误信息非常明确,只需 conda deactivate
4. 查看小环境
conda info -e
conda info --envs
conda env list # 都是来查看已经存在小环境名的
# 运行后如下:rna即为刚刚建立成功的小环境名
$ conda info -e
# conda environments:
#
base * /home/you/miniconda2
rna /home/you/miniconda2/envs/rna
5.移除小环境
conda env remove --name bio-env # 删除小环境及里面的内容
6.新建python=3.5的环境,安装multiqc
6.1 新建环境
6.2激活环境
6.3安装multiqc
官网可查安装命令,
conda install -c bioconda multiqc
用multiqc对指定文件夹下fastqc生成的结果进行统计:可参考
# multiqc [OPTIONS] <analysis directory>
# multiqc+路径+文件名(与通配符搭配使用)
multiqc -o ./test_multiqc_out ./test_fastq_QC_out/*_fastqc.zip
到这里我们解决了Multiqc在python3.7当中的包冲突问题,并且成功安装了Multiqc,处理了4条fastqc的zip文件,完成了结果输出啦!
题外话:因为conda安装得env solving blablabla比较慢,所以有开发人员基于conda开发了一个mamba
包,mamba兼容conda的命令,感兴趣可以试试哦~