Python包管理工具Anaconda的介绍

挑水做饭 2020年05月20日 156次浏览

1 什么是Anaconda

Anaconda就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。

Anaconda具有如下特点:

  • 开源
  • 安装过程简单
  • 高性能使用Python和R语言
    其特点的实现主要基于Anaconda拥有的:
  • conda包 什么是conda
  • 环境管理器
  • 1000+开源库

2 Anaconda 如何安装

2.1 从Anaconda官网下载对应操作系统的安装脚本

下载Anaconda

2.2 从脚本安装Anaconda

以linux 系统 python3为示例

bash ~/Downloads/Anaconda3-2020.02-Linux-x86_64.sh

需注意安装过程中会确认anaconda的的安装路径,默认安装路径为~/anaconda3

3 Anaconda如何使用

3.1 新建python环境

conda create -n myenv python=3 jupyter tensorflow

3.2 进入指定的python环境

source activate myenv

成功进入指定的Python环境后终端的命令行光标前会有对应的python环境名称显示

3.3 python环境新增依赖库

方式1 可在进入指定python环境后使用conda命令直接加入新增库
如增加jupyter

conda install jupyter

若指定的库在conda的公共源中则可以成功增加依赖库,但是若conda直接加入库失败,也可以使用方式2加入其它的python库进入指定python环境

方式2
通过其它方式获取需加入的python库,然后把库文件的文件夹复制到

AnacondaPath/envs/指定的python环境

AnacondaPath默认为

~/anaconda3

3.2 如何导出和导入python环境

  • 1 当新建好一个anaconda中的Python环境后,可能会在其它的机器同样需要相同的python环境,但如果每次都要在特定机器新建环境然后安装依赖包,那anaconda仅仅只起到了隔离不同python环境的作用。

  • 2 anaconda还有一个功能是根据已建好的python环境导出该环境对应的所有依赖包的yaml格式的配置文件,在任意一台服务器或者云服务器上只要把anaconda安装好后,就可以一键导入配置文件所对应的Python环境。

#导出特定python环境
conda env export > environment.yaml 

#导入特定python
conda env create -f environment.yaml

4 执行脚本前如何引入python新环境

目前已经可以新建和使用自己所需要的特定python环境,但是仍留下了一个问题尚待解决,对于自动任务而言,一个急迫的需求是,是否可在shell脚本中启动anaconda中的python环境,然后在该环境中执行后续python程序,答案是肯定的,只是和直接启动python环境稍有区别

#直接启动anaconda中的python环境 
source actiavte python环境名字

#shell脚本中需采用如下命令
source activate的bin文件在服务器中的绝对路径 python环境名字
  • 示例 shell脚本中启动了名为yifu_py3的python环境,然后执行后续python程序
#!/bin/sh
source /home/sheyifu/anaconda3/bin/activate yifu_py3
python3.6 predict2020.py