Conda 的 yml 文件 Conda/PIP 国内镜像源的添加

Conda 的 yml 文件 Conda/PIP 国内镜像源的添加

此文介绍:

  • Conda 的 yml 文件作用
  • yml 文件中 Conda 国内镜像源的添加
  • yml 文件中 PIP 国内镜像源的添加
  • Conda YML 中直接导入pip的requrirements.txt文件
  • Conda YML 中包含 wheel


1 介绍

Conda 环境是独立的容器,因此内部的包及其版本不会影响环境外部的包。 创建一个虚拟环境可以帮助您通过将包和依赖项与其他代码隔离开来玩转包和依赖项。

我们可以使用 yml 手动创建环境或从现有环境中导出。这里简单地举几个例子:

name: env-name
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.7
  - codecov

yml 文件包含一下几个模块:

  • name:环境名称
  • dependencies:依赖项,例如您希望在创建环境时预安装的库。
  • channels:频道(可选),参考频道下载包。 conda-forge 上的软件包可能比默认频道上的软件包更新。

我们可以通过

conda env create -f environment.yml

来新建虚拟环境。

另外,我们在MLOps中也用到conda的yaml文件,比如MLFlow的使用。这里也举一个例子:

channels:
- conda-forge
dependencies:
- python=3.8.2
- pip
- pip:
  - mlflow==1.25.1
  - torchvision>=0.9.1
  - torch>=1.9.0
  - pytorch-lightning==1.6.1

2 问题

这里需要介绍以及解决的问题在于,由于大陆地区网络,我们如果直接运行上面的yml文件,很可能会遇到超时的情况。尤其是pip。以前我们把所有依赖都放在requirements.txt文件中,直接通过pip install requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple来通过国内的镜像源来下载依赖。那么,在这个conda的yml中对应如何操作呢?

3 yml 文件中 Conda 国内镜像源的添加

下面是一个例子:

name: hyperparam_example
channels:
  - conda-forge
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
dependencies:
  - python=3.9
  - pip
  - numpy=1.22.2
  - click
  - pandas=1.4.1
  - scipy
  - scikit-learn=1.0.2
  - tensorflow=2.6.0
  - matplotlib=3.5.1
  - keras=2.6.0
  - mlflow=1.24.0
  - hyperopt

我自己试下来的经验是,在channels下面还是需要带着conda-forge的,于此同时在下面添加国内的镜像源。

4 yml 文件中 PIP 国内镜像源的添加

下面是一个例子:

channels:
- conda-forge
dependencies:
- python=3.8.2
- pip
- pip:
  - mlflow==1.25.1
  - torchvision>=0.9.1
  - torch>=1.9.0
  - pytorch-lightning==1.6.1
  - -i https://pypi.tuna.tsinghua.edu.cn/simple

注意上面最后一行。

5 Conda YML 中直接导入pip的requrirements.txt文件

下面是一个例子:

name: test-env
dependencies:
  - python>=3.5
  - anaconda
  - pip
  - pip:
    - -r file:requirements.txt

6 Conda YML 中包含 wheel

我也尝试了在目录中添加wheel,但好像使用整个 URL 时出现此错误:

HTTP error 404 while getting http://www.lfd.uci.edu/~gohlke/pythonlibs/f9r7rmd8/opencv_python-3.1.0-cp35-none-win_amd64.whl

我们可以下载了wheel并将其保存到与 yml 文件相同的目录中,比如:

name: test-env
dependencies:
- python>=3.5
- anaconda
- pip
- pip:
  - opencv_python-3.1.0-cp35-none-win_amd64.whl
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

破浪会有时

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值