人生活的就是个过程,无悔就是最高境界!
Conda 是⼀个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。Conda 主要是为 Python 程序创建的,适⽤于 Linux,OS X 和Windows,也可以打包和分发其他软件,如R和Scala。
1. conda配置镜像
Conda的默认配置属于开箱即用的类型,但如果我们想要更好⽤,还有⼀些设定需要注意。
Conda默认的包频道是Anaconda公司的默认频道。另外还存在⼀个开源频道:conda-forge。condaforge的包往往⽐官⽅更新更快,也更全,通常我们会直接把频道加⼊到conda的默认设置⾥。对于其他自己维护的频道,⽐如pytorch,如果需要,我们也可以自行添加。
生成condarc配置文件;
conda config --add channels conda-forge
conda config --append channels pytorch
另外,如果Conda在国内更新很慢,可以搜索anaconda清华源添加清华大学的国内镜像进行包的更新。
显示目前设置的所有镜像源,在执行conda config 命令的时候,会在当前用户目录下创建 .condarc 文件,可以查看更换源前后该文件内容的变化:
conda config --show-sources
删除安装源
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
换回默认源
conda config --remove-key channels
1.1 清华大学开源软件镜像站
https://mirrors.sjtug.sjtu.edu.cn/
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
1.2上海交通大学开源软件镜像站
https://mirrors.sjtug.sjtu.edu.cn/
channels:
- defaults
show_channel_urls: true
channel_alias: https://anaconda.mirrors.sjtug.sjtu.edu.cn/
default_channels:
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/main
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/free
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/mro
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/msys2
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/pro
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/r
custom_channels:
conda-forge: https://anaconda.mirrors.sjtug.sjtu.edu.cn/conda-forge
soumith: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/soumith
bioconda: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/bioconda
menpo: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/menpo
viscid-hub: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/viscid-hub
atztogo: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/atztogo
1.3 北京外国语大学开源软件镜像站
https://mirrors.bfsu.edu.cn/
注:强烈推荐!!!2020-05-02 上线,清华大学开源软件镜像站的姐妹站,下载体验极佳,再也不用忍受清华源永远下不完的 pytorch 了。
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.bfsu.edu.cn/anaconda
default_channels:
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/free
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/pro
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.bfsu.edu.cn/anaconda/cloud
msys2: https://mirrors.bfsu.edu.cn/anaconda/cloud
bioconda: https://mirrors.bfsu.edu.cn/anaconda/cloud
menpo: https://mirrors.bfsu.edu.cn/anaconda/cloud
pytorch: https://mirrors.bfsu.edu.cn/anaconda/cloud
simpleitk: https://mirrors.bfsu.edu.cn/anaconda/cloud
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.bfsu.edu.cn/anaconda/cloud
msys2: https://mirrors.bfsu.edu.cn/anaconda/cloud
bioconda: https://mirrors.bfsu.edu.cn/anaconda/cloud
menpo: https://mirrors.bfsu.edu.cn/anaconda/cloud
pytorch: https://mirrors.bfsu.edu.cn/anaconda/cloud
simpleitk: https://mirrors.bfsu.edu.cn/anaconda/cloud
1.4 Linux下环境配置
CondaHTTPError: HTTP 000 CONNECTION FAILED for url
https://blog.csdn.net/ada0915/article/details/78529877
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
show_channel_urls: true
# 2020.12.20 巨快源
channels:
- https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main/
- https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free/
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/pro
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
show_channel_urls: true
ssl_verify: false
# Linux 2022.4.10 创建py2的虚拟环境
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- defaults
show_channel_urls: true
2. pip换源
pip国内的一些镜像:
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/临时使用某个源安装版本:
pip install -i https://pypi.douban.com/simple torch==1.5.0
3. mamba 安装拓展(极速)
mamba 非常强大,可以在linux/win10下安装;
给conda换好源后,
安装mamba
conda install mamba
conda install mamba -c conda-forge
conda install mamba -n base -c conda-forge
# 查看package
mamba repoquery search busco
# 查看安装包所需依赖
mamba repoquery depends busco
mamba 安装拓展
mamba install bs4 lxml selenium pyppeteer
All requested packages already installed
__ __ __ __
/ \ / \ / \ / \
/ \/ \/ \/ \
███████████████/ /██/ /██/ /██/ /████████████████████████
/ / \ / \ / \ / \ \____
/ / \_/ \_/ \_/ \ o \__,
/ _/ \_____/ `
|/
███╗ ███╗ █████╗ ███╗ ███╗██████╗ █████╗
████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗
██╔████╔██║███████║██╔████╔██║██████╔╝███████║
██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║
██║ ╚═╝ ██║██║ ██║██║ ╚═╝ ██║██████╔╝██║ ██║
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝
mamba (0.7.8) supported by @QuantStack
GitHub: https://github.com/mamba-org/mamba
Twitter: https://twitter.com/QuantStack
█████████████████████████████████████████████████████████████
Looking for: ['bs4', 'lxml', 'selenium', 'pyppeteer']
Linux下
将以上配置文件写在~/.condarc中
vim ~/.condarc
channels:
- https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
- https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls: true
配置信息保存在 ~/.condarc
里,cat ~/.condarc
即可查看!
3. 环境重建
① 环境迁移
如果我们想要把⼀个conda环境和对应版本的包迁移到别的机器上,那就首先需要导出环境:
conda activate py37 # 激活要导出的环境
conda env export > environment.yml # 导出环境配置,此种方法只能导出相同系统,如 windows机器的配置只能导出给windows使用,不能给linux使用
pip freeze > requirement.txt # 也可以用pip导出,此种方法不限制机器
然后在新机器上重建环境:
conda env create -f environment.yml # 直接利用conda重建 # 或是先安装环境,再用pip重建
conda create -n py37 python=3.7 -y
pip install -r requirement.txt
② 离线环境重建
如果出于某些原因需要在离线的环境⼯作,Python的环境配置会是⼀个很头痛的问题。但conda其实可以很⽅便的帮我们维护⼀整个相互兼容的环境。这种情况下,⾸先,我们需要找到conda的配置⽂件.condarc,通常它会位于:
macOS: /Users/Username
Linux: ~/.condarc
Windows: C:\Users\Username
如果没有看⻅.condarc配置文件,就运行一次conda config。
然后,我们需要在.condarc里修改conda缓存包的地址pkgs_dirs,把这个地址变为我们想要存放下载的python包的地址,在离线的机器上我们也进⾏同样的操作来指定conda的缓存路径。把conda缓存下来的包导入到离线环境的缓存路径下,是建立⼀个完整的python环境的关键。
pkgs_dirs:
- C:\conda-pkgs-cache
在改好.condarc配置文件后,我们就可以下载我们想要的包了,不过此时,需要带上⼀个关键的参数: --download-only
# 通过创建环境的方式下载所有想要的包
conda create -n py36 anaconda pytorch tensorflow lightgbm catboost tqdm black pipreqs python=3.6 --download-only
# 直接下载并缓存对应的包
conda install tensorflow-gpu=1.15 py-xgboost --download-only
在下载后,将之前设定的conda缓存⽬录上传到离线环境中,并在离线环境中也设定.condarc中conda
缓存目录为对应的目录。此时运行:
# 利用缓存创建环境
conda create -n offline36 anaconda pytorch tensorflow lightgbm catboost tqdm black pipreqs python=3.6 --use-index-cache --offline
# 利用缓存安装包
conda install tensorflow-gpu=1.15 py-xgboost --use-index-cache --offline
就可以只用conda缓存中的文件,⽆需联网,就能成功安装对应库到离线环境中了。
4. 创建虚拟环境
安装软件前,先设置一个小环境,不要直接在自己账户的当前环境内安装软件;
conda create -n rna
# 创建一个小环境名为rna
conda install python=2
# 安装python 2版本
# 以上两句话可以等同于一句命令:conda create -n rna python=2
查看小环境
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
# **进入小环境**
source activate rna #激活小环境名为rna的环境
# 退出环境
conda deactivate #: linux下conda退出小环境命令
# **移除小环境**
conda env remove --name bio-env #:删除小环境及里面的内容
5.安装软件
5.1 查找软件
- 从conda网页内查找:http://bioconda.github.io/conda-recipe_index.html
-
conda search PACKAGENAME
:运行命令查找是否存在
推荐第一种;
5.2 安装软件
第一步:先从bioconda镜像查看软件名具体是什么?一个字母都不能错
第二步:conda install 软件名
第三步:成功调取软件帮助文档==确定安装成功
这里有点类似R包的安装,装后需要library()一下,才能确认安装成功
安装方法:conda install -y sra-tools trim-galore
参数解释:-y要不要均可,是问你同不同意安装,不要的时候,需要手动输入一个y,自己尝试后就理解了这句话含义;sra-tools trim-galore安装两款软件,默认安装最新版; 注意 trim-galore 一个字都不能错,一个字都不能错,重要的事情说三遍!
指定软件安装版本
conda install numpy=1.11
:即安装能模糊匹配到numpy版本为1.11
conda install numpy==1.11
:即精确安装numpy为1.11的版本
Constraint type | Specification | Result | |
---|---|---|---|
Fuzzy | numpy=1.11 | 1.11.0, 1.11.1, 1.11.2, 1.11.18 etc. | |
Exact | numpy==1.11 | 1.11.0 | |
Greater than or equal to | "numpy>=1.11" | 1.11.0 or higher | |
OR | "numpy=1.11.1 | 1.11.3" | 1.11.1, 1.11.3 |
AND | "numpy>=1.8,<2" | 1.8, 1.9, not 2.0 |
5.3 更新软件
conda update conda
:更新conda
conda update bwa
:更新bwa;前提是已经安装成功bwa
5.4 查看已安装软件
conda list:在当前小环境下,列举所有安装软件。
示例:
source activate rna
conda list
列举rna小环境内安装的所有软件
pip安装
先安装python,才能使用pip安装python的软件,如pip install multiqc
pip install scrapy-redis --use-feature=2020-resolver # 2020.11.11 安装
6. miniconda安装失败
- 删除安装目录,如果安装到了/home/you/miniconda2里,执行
rm -r /home/you/miniconda2
- 删掉~/.bashrc最后几行conda写入的信息(# added by Miniconda2 4.5.12 installer下面几行一般都是),如果没有# added by Miniconda2 4.5.12 installer的话,即表明conda配置的信息没写入成功
然后按照上述步骤重新安装!
6.1 conda网络错误
报错如下;
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/bioconda/linux-64/homer-4.9.1-pl5.22.0_5.tar.bz2>Elapsed: -
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
1. 检查网络是否已经链接;
实际上,我已经设置好了镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes
conda install -y -c bioconda homer
人为指定channel 可以解决bug
conda install -y -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda homer
6.2 conda 安装软件经常冲突
事实上不可能有十全十美的工具,conda非常简易的管理了多个软件流程,那么必然也会有解决不了的事情,必然同一个流程的两个python软件基于不同版本的python包,就尴尬了。
Solving environment: failed
UnsatisfiableError: The following specifications were found to be in conflict:
- rsem
Use "conda info <package>" to see the dependencies for each package.
没什么好的办法,只能说把冲突的工具安装到不同的子环境。
Solving environment: failed
PackagesNotFoundError: The following packages are not available from current channels:
- salmon
- boost=1.64
- salmon
- libcxx==4.0.0
5.3 配置镜像出错
conda: command not found
# 表明环境变量里找不到conda这个软件
# 出错原因:.bashrc里没有配置conda的PATH或者配置过但是没有source ~/.bashrc
# 检验方法:运行echo $PATH,查看是否含有conda安装路径
Warning: 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge' already in 'channels' list, moving to the top
# 表明之前已经运行过这句代码
# 复制镜像配置语句时复制错误,需要重新配置时,需要删除镜像配置文件
rm ~/.condarc
# 然后重新配置,参考miniconda配置镜像
总结
一步安装conda并且配置好一个ngs组学环境
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda2-latest-Linux-x86_64.sh
# miniconda2软件下载成功
bash Miniconda2-latest-Linux-x86_64.sh
# 遇到yes/no输入yes,其他直接enter搞定
source ~/.bashrc
conda --help
# miniconda2安装成功,并成功配置好环境变量
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes
# 配置镜像成功
conda create -n rna python=2# 创建小环境成功,并成功安装python2版本
# 每建立一个小环境,都要装一个python=2的软件作为依赖
source activate rna
# 成功激活进入小环境,即可安装软件
conda install -y fastqc
# 出现三个done,即表示安装成功,否则重新提交命令
fastqc --help
# 成功出现帮助文档,fastqc软件安装成功
conda install -y sra-tools# 出现三个done,即表示安装成功,否则重新提交命令prefetch --help
# 成功出现帮助文档,sra-tools软件安装成功
# 安装什么软件,并不等于调用什么命令--help
source deactivate
# 成功退出rna小环境
# 或直接退出当前账户
---------------------------------------------------------------------------------------
报错1
将https改为http即可。
生信环境配置方法改进版——安装简易conda_mamba
mamba 是一个快速的跨平台包管理工具,基于 conda 且与 conda 完全兼容。所谓基于 conda 就是 conda 能干啥它就干啥,所谓兼容就是 conda 怎么用它就怎么用,而缺点就是贼快。
1.用 conda-forge 的 channel 进行安装 ,无报错就成功;
conda install mamba-c conda-forge
2.报错换种方式安装mamba
conda install -y -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda homer
conda install -y mamba
#去掉 -y 也可以试一试,安装mamba巨慢;
测试安装成功;安装上mamba,就可以快速的安装各种软件了;
机器学习库安装
1. sklearn安装:
sklearn是机器学习中一个常用的python第三方模块,对常用的机器学习算法进行了封装
其中包括:
1.分类(Classification)
2.回归(Regression)
3.聚类(Clustering)
4.数据降维(Dimensionality reduction)
5.常用模型(Model selection)
6.数据预处理(Preprocessing)
两种安装方式:
使用 pip
pip install -U scikit-learn
或 conda
conda install scikit-learn