conda安装最新版ensembl-vep遇依赖冲突问题求助
问题描述
conda search ensembl-vep显示可用最新版本为110.1,但执行conda install -c bioconda ensembl-vep -y默认安装105版本- 指定版本
conda install -c bioconda ensembl-vep=110 -y或conda install -c bioconda ensembl-vep=110.1 -y触发大量Perl依赖冲突 - 已更新conda,问题在Ubuntu和OSX系统均存在
- 尝试添加conda-forge通道、创建新环境(
conda create -c conda-forge -c bioconda ensembl-vep=110 -n vep)仍出现UnsatisfiableError - 使用conda-lock时因命令参数错误报错
解决办法
1. 用mamba替代conda处理依赖
mamba的依赖解析能力比conda更强,能解决多数冲突:
- 先在base环境安装libmamba求解器:
conda install -n base conda-libmamba-solver - 创建新环境并安装指定版本:
若已有环境,激活后执行:conda create -n vep -c bioconda -c conda-forge --solver=libmamba ensembl-vep=110.1conda activate vep conda install -c bioconda -c conda-forge --solver=libmamba ensembl-vep=110.1
2. 重置conda通道优先级
通道顺序或优先级错误可能导致拉取旧版本,重置后设置严格优先级:
- 清空现有通道配置:
conda config --remove-key channels - 添加通道并设置严格优先级:
conda config --add channels conda-forge conda config --add channels bioconda conda config --add channels defaults conda config --set channel_priority strict - 重新创建环境安装:
conda create -n vep ensembl-vep=110.1
3. 正确使用conda-lock
确保命令参数正确,指定平台和通道:
- 生成lock文件(替换为你的系统平台,比如linux-64或osx-64):
conda-lock lock -c conda-forge -c bioconda --channel-priority strict -p linux-64 ensembl-vep=110.1 - 用lock文件创建环境:
conda-lock install --name vep conda-lock.yml
4. 手动指定兼容的Perl版本
ensembl-vep 110.x兼容Perl 5.26-5.32,可手动指定版本规避冲突:
conda create -n vep -c conda-forge -c bioconda perl=5.32 ensembl-vep=110.1
内容的提问来源于stack exchange,提问作者Toffi
相关产品推荐
相关产品推荐

