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)

大家都在看

  • 秒杀微服务实现抢购代金券功能

    文章目录 * – 需求分析 – 秒杀场景的解决方案 – 数据库表设计 – + 代金券表 + 抢购活动表 + 订单表 – …

    Python 2023年9月16日
    044
  • 【Python】数据加密解密技术

    Original: https://www.cnblogs.com/123456feng/p/16078805.htmlAuthor: 蚂蚁ailingTitle: 【Python…

    Python 2023年5月24日
    065
  • flask文件上传注意点

    对于flask框架使用过程中,有关文件上传的一些知识点和容易遗漏的事项进行总结整理 表单部分 使用flask_wtf、wtforms、flask_wtf.file这三个包构建文件上…

    Python 2023年8月13日
    045
  • python | 将照片按顺序制作成PDF

    把图片按照顺序合成PDF。 需求分析: 要保证图片的顺序,只能从文件命名上下手,所以可以把图片命名成数字,数字小的排前面,数字大的排后面,类似这样: 这样命名完后,全是数字,又不好…

    Python 2023年6月12日
    074
  • gitee初次使用配置

    github有点慢,看好多大佬都开始迁移到gitee了,我也试着用一下 [TencentCloudSDKException] code:FailedOperation.Servic…

    Python 2023年6月3日
    0100
  • K-MEANS聚类——Python实现

    一、概述 (1 )物以类聚,人以群分,聚类分析是一种重要的多变量统计方法,但记住其实它是一种数据分析方法,不能进行统计推断的。当然,聚类分析主要应用在市场细分等领域,也经常采用聚类…

    Python 2023年8月1日
    050
  • Pandas大数据清洗实战之二:牛刀小试

    1、数据准备 csv是以纯文本形式存储的表格数据,接下来讲述使用pandas读取和操作csv中的数据首先准备csv文件,内容如下: white,red,blue,pink,blac…

    Python 2023年8月7日
    043
  • Django创建图书管理系统

    是一个优秀的 Web 框架,可以用它来开发各种 Web 应用,包括 。下面是一个简单的 的示例: 1. 项目和应用 首先安装 ,然后 一个 项目和一个应用: $</p>…

    Python 2023年8月5日
    044
  • 2022亚太赛题浅评

    2022年亚太今日已经正式开赛,为了帮助大家更好的选题建模,这里首先对ABC三道题目进行浅要评析,以方便大家更好的择题。同时相关资料也会后续进行补充。预计明日公布各题统计选题人数以…

    Python 2023年9月27日
    028
  • Python的Django实现Channel的Websocket实时聊天和后台主动推送

    前言 如果只是想在服务器中和前端建立好 websocket通道,然后服务器主动推送数据给前端的需求的话,其实只要 dwebsocket就好了,为什么我要大动干戈去做 channel…

    Python 2023年8月6日
    070
  • python不能导入mysql_Python导入数据到MySQL常见问题

    今天练习Python导入csv数据到MySQL,使用代码如下: import pandas as pd from sqlalchemy import create_engine M…

    Python 2023年8月22日
    032
  • C++文件操作

    1.创建文件流 创建文件流需要包含头文件 #include 创建文件输入流对象 ofstream file; 创建文件输出流对象 ifstream file; 2.写入文本文件 1…

    Python 2023年9月26日
    057
  • Scrapy 源码分析 2 Scrapy命令

    1 简介 源码截图 scrapy一共有14类命令,每一类命令对应上不一个文件 2 settings优先级说明 SETTINGS_PRIORITIES = { ‘default’: …

    Python 2023年10月4日
    050
  • 构建民航业知识图谱并实现语义查询

    CivilAviation Q&A 根据民航业年度公报(年报)构建民航业知识图谱并实现语义查询。项目地址:https://github.com/ShawnHXH/QA-Ci…

    Python 2023年8月14日
    055
  • python s append_pandas中如何使用合并append函数?

    介绍了这么多关于pandas拼接的方法,那你知道如果想要拼接拼接一个或者多个,还可以追加serise到原来的dataframe里面如何操作吗?其实还是很简单的,使用append函数…

    Python 2023年8月8日
    055
  • Flask send_file函数导致的绝对路径遍历

    平时接触到的 python 项目并不多,对 python 的代码审计更是没有接触,偶然朋友发来了一个漏洞 Flask send_file&#x51FD;&#x657…

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