
上文,我们简单入门了Conda。本文我们介绍如何基于Nexus OSS 3实现对Conda的代理。
一、创建Blob
进入管理页面后,点击左边“Blob Stores”菜单创建一个Blob。专门用于存储conda代理数据。我们推荐每一个源对应一个Blob。这样利用后期运维。这一步千万不要偷懒。

二、创建Conda proxy仓库
在左侧菜单栏中,然后点击“Create repository”按钮

接着选择“conda(proxy)”仓库类型。

进入canda配置页面,远端源,我们设置为清华的源:https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs。在“storage”处,选择我们在第一步创建的blob。

点击保存后,可以在仓库列表中找到我们刚创建的源。

点击“copy”将地址拷贝。

三、使用自建源
将自建源添加到本地时,最好是install时指定源地址,手工测试自建源是否可用:
conda install -c http://example.com/repository/conda-proxy/ numpy
这时,你会看到报错:
(base) sam@ShangHai-IOT02:/home$ conda install -c http://example.com/repository/conda-proxy/ numpy
Collecting package metadata (current_repodata.json): failed
UnavailableInvalidChannel: The channel is not accessible or is invalid.
channel name: repository/conda-proxy
channel url: http://example.com/repository/conda-proxy
error code: 404
You will need to adjust your conda configuration to proceed.
Use `conda config --show channels` to view your configuration's current state,
and use `conda config --show-sources` to view config file locations.
我们发现代理源在真正使用的时,需要加上/main
:
conda install -c http://example.com/repository/conda-proxy/main numpy
同时,我们也发现,不同的包可能在不同的channel上。所以,我们可能就需要针对不同的包创建不同的channel。
比如我们需要单独为pytorch创建一个代理仓库。pytoach的清华源地址:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ 。我们按照之前的步骤,为pytoach创建了一个代理仓库。
这时,我们有两个代理仓库了,在手工测试代理仓库可用后,再将代理仓库的链接加入到.condarc中:
channels:
- http://example.com/repository/conda-pytorch-proxy/
- http://example.com/repository/conda-proxy/main
- http://example.com/repository/conda-proxy/free
show_channel_urls: true
最后,我们就可以愉快使用自建的源了。
网友评论