一台服务器,如果安装的软件多了,难免会各种冲突,好在docker和conda都可以解决这个问题
docker运行麻烦一点,还是优先从conda入手
conda list # 列出安装的软件包
conda clean --all #清除无用的软件包,在codna安装软件有冲突的时候可以试试
conda search <package ambigious name> # 搜索需要安装的软件包,获取其完成名字
conda install numpy=1.7.2 # 安装特定版本的软件包
conda remove <package name> # 移除软件包
conda remove <package name> --force #强制移除软件包,可不卸载依赖包
# 显示已有的通道
conda config --get channels 或者 conda config --show channels
conda config --add channels conda-forge # Lowest priority
conda config --add channels defaults
conda config --add channels bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
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
====================================================================
##设置优先channels,conda会能更快的解决依赖关系
conda config --set channel_priority strict #这个命令只需要运行一次)
#remove channels
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# 新建一个环境,命名为phylo,指定其内安装的python版本为2.7
conda create -n phylo python=2.7
# bioconda通道里面也有ete3, 下面的安装未指定具体通道,将在前面设定的几个通道里面按先后顺序查找安装
conda install -n phylo ete3 ete3_external_apps
#移除环境
conda remove -n phylo --all
# copy env
conda create -n python35copy --clone python35
# import env
# 假设我们有一个环境叫 ehbio,可以导出为一个yml文件
conda env export --file ehbio_env.yml --name ehbio
# 然后换一台电脑,就可以完全重现这个环境了
conda env create -n ehbio --file ehbio_env.yml
####################################################
如果遇到CondaHTTPError的情况,首先检查有没有网络,如果确定有,则修改~/.condarc
删除default channel,并且添加 ssl_verify: false
安装软件时候,优先安装能解压直接用的那种,其次考虑安装到conda环境中,再次考虑直接conda install XX,把它装到miniconda3/bin里,最后可以考虑使用 configure make 这种安装方式