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

Original: https://blog.csdn.net/zyctimes/article/details/124598774
Author: 破浪会有时
Title: Conda 的 yml 文件 Conda/PIP 国内镜像源的添加

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/770751/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球