BiiTii

  • 首頁
  • 游戏
  • 动漫
  • 影视
  • 文章
  • 美食
BiiTii
Hello!!
  1. 首页
  2. 文章
  3. 正文

Anaconda开发环境的自动部署:environment.yml

2022-12-10 42点热度 0人点赞 0条评论

软件开发环境需要依赖各种包,包的依赖问题一直是一个巨大的问题:单机开发、小项目还好,一旦需要协作(保持环境一致性)、回滚(更新了一下包,出bug了)等等,如果没有一个合适的管理机制,将极大地降低开发效率。C++在项目开发中为人诟病已久的一点就是没有一个足够优秀的包管理系统来一统天下(CMake虽是主流,但使用十分反人类)。

Python开发中这个问题比C++稍好些,web开发等领域常用pip、virtualenv,数据分析、科学计算中常用Anaconda(和Miniconda)。pip有一个十分方便的点,可以使用requirements.txt文件管理开发环境,部署各种包只要一行命令,方便快捷,因此已被广泛应用于各种项目开发中。conda也有类似的工具(使用environment.yml)。本文重点阐述conda中的自动部署,基于python3.7,anaconda2019.1版本。

(yml可以理解成一种交换文件格式,类似xml、json)

部署

在Anaconda Prompt中运行一下命令:

 

conda env create -f environment.yml

-f是--file的简写。

要激活环境,只要运行(假设环境名为my_env)

 

conda activate my_env

即可。

配置

最简单的environment.yml可以这么写:

 

# example1

name: stats
dependencies:
  - numpy
  - pandas

运行后,创建一个名为stats的环境,包含依赖包numpy和pandas。

若要改变安装包的来源/改变python版本/进行更复杂的操作,可以修改environment.yml:

 

# example2

name: stats2
channels:
  - javascript
dependencies:
  - python=3.4
  - bokeh=0.9.2
  - numpy=1.9.*
  - nodejs=0.10.*
  - flask
  - pip:
    - Flask-Testing

这个文件将创建一个名为stats2的环境,默认采用的来源为javascript(在.condarc中配置),依赖中指定了python和各个包的版本。值得注意的是,这里有一个pip:后面接的是用pip安装的包!可见这种方法除了使用conda安装,也支持使用pip安装。

一个小问题

有时候,自己装的是Anaconda,却需要安装别人的requirements.txt,怎么办?一种方法是把requirements.txt的内容写进environment.yml中。举个例子:

这是一个environment.yml基本信息:

 

# run: conda env create --file environment.yml
name: test-env
dependencies:
- python>=3.5

这是要处理的requirement.txt:

 

# run: pip install -i requirements.txt
docx
gooey
http://www.lfd.uci.edu/~gohlke/pythonlibs/bofhrmxk/opencv_python-3.1.0-cp35-none-win_amd64.whl

合并后的environment.yml:

 

# run: conda env create --file environment.yml
name: test-env
dependencies:
- python>=3.5
- pip
- pip:
  # works for regular pip packages
  - docx
  - gooey
  # and for wheels
  - http://www.lfd.uci.edu/~gohlke/pythonlibs/bofhrmxk/opencv_python-3.1.0-cp35-none-win_amd64.whl

参考文章:

 

标签: Anaconda
最后更新:2022-12-10

黑 亚当

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 部署
  • 配置
  • 一个小问题
标签聚合
免费 电影 影片 预告 微软 Anaconda 游戏 最终幻想16
最新 热点 随机
最新 热点 随机
中美合拍动画大作《白蛇:缘起》新预告 12月21日情定前生 《毒液》新剧照海报曝光 毒液太霸气以毒攻毒以暴制暴 《伊藤润二 Maniac》海报公布 明年1月19日开播 “超人”亨利卡维尔发神秘视频 回应“退演超人”报道 新海诚动画电影《铃芽户缔》新剧照角色 11月11日上映 旧忆再燃!圆谷制作公布全新策划《奥特曼档案馆》
悬疑喜剧《福尔摩斯小姐2》确认引进 即将全国上线 《英雄联盟:双城之战》播出一周年 官方发文感谢粉丝 10月新番《月影特工》这个场景设计怕是要出事吧! 《高达 水星魔女》一阶段最终话暂停 明年1月8日续播 Win11桌面化身“白板” 允许用户自行绘制桌面贴纸 《龙与地下城》真人电影改档明年3月31日

COPYRIGHT © 2022 . ALL RIGHTS RESERVED.

BiiTii