如何在micromamba中覆盖集群配置的软件源镜像?
解决Micromamba集群镜像过时无法获取最新包的问题
问题背景
在大学集群使用micromamba时,发现无法找到软件包的最新版本,排查后确认是因为工具被配置为使用集群本地过时的软件源镜像,而非conda-forge上游索引。查遍配置文件与环境变量后,仍未找到镜像配置及覆盖方法。
以下是精简后的mamba info输出:
mamba version : 1.4.9 active environment : py310simple active env location : /scicore/home/neher/roemer0001/miniconda3/envs/py310simple shell level : 1 user config file : /scicore/home/neher/roemer0001/.condarc populated config files : /etc/conda/condarc /scicore/home/neher/roemer0001/.condarc conda version : 23.5.0 virtual packages : __archspec=1=x86_64 __glibc=2.35=0 __linux=5.15.0=0 __unix=0=0 base environment : /scicore/home/neher/roemer0001/miniconda3 (writable) conda av data dir : /scicore/home/neher/roemer0001/miniconda3/etc/conda conda av metadata url : https://nexus-int.scicore.unibas.ch/repository/conda-packages-proxy/pkgs/main channel URLs : https://nexus-int.scicore.unibas.ch/repository/conda-packages-proxy/conda-forge/linux-64 https://nexus-int.scicore.unibas.ch/repository/conda-packages-proxy/conda-forge/noarch https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch package cache : /scicore/home/neher/roemer0001/miniconda3/pkgs /scicore/home/neher/roemer0001/.conda/pkgs envs directories : /scicore/home/neher/roemer0001/miniconda3/envs /scicore/home/neher/roemer0001/.conda/envs platform : linux-64 user-agent : conda/23.5.0 requests/2.31.0 CPython/3.9.16 Linux/5.15.0-134-generic ubuntu/22.04.3 glibc/2.35 netrc file : None offline mode : False
解决方法
1. 永久修改用户配置文件
从mamba info可知,系统级/etc/conda/condarc和用户级~/.condarc均被加载,用户级配置优先级更高。编辑你的用户配置文件:
nano /scicore/home/neher/roemer0001/.condarc
将文件内的channels部分替换为上游地址,示例配置:
channels: - conda-forge - defaults show_channel_urls: true
保存退出后,执行mamba info确认channel URLs已切换为conda-forge上游地址。
2. 临时覆盖配置(单次命令生效)
若无需永久修改,可在每次执行安装/更新命令时,通过参数强制指定上游channel:
micromamba install --override-channels -c conda-forge <你的包名>
3. 检查并清除强制环境变量
部分集群会通过环境变量锁定镜像配置,检查以下变量:
echo $CONDA_CHANNELS echo $CONDA_DEFAULT_CHANNELS
若输出非空,可在当前shell中清除:
unset CONDA_CHANNELS unset CONDA_DEFAULT_CHANNELS
内容的提问来源于stack exchange,提问作者Cornelius Roemer
相关产品推荐
相关产品推荐

