美文网首页DevOps
实践持续交付——Nexus代理Conda源

实践持续交付——Nexus代理Conda源

作者: 翟志军 | 来源:发表于2021-06-20 11:18 被阅读0次
girl-2605526_640.jpg

上文,我们简单入门了Conda。本文我们介绍如何基于Nexus OSS 3实现对Conda的代理。

一、创建Blob

进入管理页面后,点击左边“Blob Stores”菜单创建一个Blob。专门用于存储conda代理数据。我们推荐每一个源对应一个Blob。这样利用后期运维。这一步千万不要偷懒。

Untitled 1.png

二、创建Conda proxy仓库

在左侧菜单栏中,然后点击“Create repository”按钮

Untitled 2.png

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

Untitled 3.png

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

Untitled 4.png

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

Untitled 5.png

点击“copy”将地址拷贝。


Nexus代理Conda源 7ce2b48e40474b7cbc4f3adf73d35cd3.png

三、使用自建源

将自建源添加到本地时,最好是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

最后,我们就可以愉快使用自建的源了。

相关文章

网友评论

    本文标题:实践持续交付——Nexus代理Conda源

    本文链接:https://www.haomeiwen.com/subject/rxfhyltx.html