包管理工具conda极简教程

包管理工具conda极简教程

conda的作用

Anaconda是目前非常流行的一个python包管理器,自带很多流行的python库,包括numpy,pandas等,当然还有conda。而Conda是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。

直接进入正题,本文通过几个最基本的命令,来介绍conda如何使用。

创建一个虚拟环境

首先假设你已经安装了anaconda
使用如下命令创建一个名为py2_pytorch的指定python版本的新环境。

[ansheng@*** ~]$conda create -n py2_pytorch python=2.7

查看所有环境

使用conda env list命令可以查看当前的所有python环境

[ansheng@*** ~]$conda env list
# conda environments:
#
base                  *  /data/ansheng/anaconda2
py2_pytorch              /data/ansheng/anaconda2/envs/py2_pytorch

可以看到,当前有两个环境,一个是安装anaconda后自带的base环境,一个是我们刚刚新建的python环境py2_pytorch。

删除一个虚拟环境

[ansheng@*** ~]$conda env remove -n py2_pytorch 

激活or关闭指定环境

使用source activate 环境名 激活指定环境

[ansheng@*** ~]$source activate py2_pytorch
(py2_pytorch) [ansheng@*** ~]$

使用source deactivate or source deactivate 环境名 关闭当前环境

(py2_pytorch) [ansheng@ocr-gpu-12-10 ~]$ source deactivate py2_pytorch
(base) [ansheng@ocr-gpu-12-10 ~]$

使用后一定要记得关闭

在指定环境中安装包

假设我们想在新建的python环境py2_pytorch中安装cpu版本的pytorch,我们来模拟这个过程

首先切换到想要安装python包的环境中
使用conda install + python包名称 的方式安装指定的包及相关的依赖包

[ansheng@*** ~]$source activate py2_pytorch
(py2_pytorch) [ansheng@*** ~]$conda install pytorch

耐心的等待后cpu版本的pytorch就装好了,当然如果你想装对应CUDA9.0的GPU版本的pytorch,使用如下命令,不过这已经是题外话了。

(py2_pytorch) [ansheng@*** ~]$conda install pytorch-nightly cudatoolkit=9.0 -c pytorch

一键化的conda install命令帮忙处理了所有依赖关系,推荐仅在一个新的空环境中使用conda install这样的命令来快速的安装一个如tensorflow或pytorch这样具有众多依赖的python库。

个人还是比较推荐使用pip install命令来安装python包,使用方法没有区别,例如:

(py2_pytorch) [ansheng@*** ~]$pip install numpy
(py2_pytorch) [ansheng@*** ~]$pip install pandas

演示:尝试切换环境并调用python包

下面我们来进行一个简单的实践演示,直观感受下conda的正确打开方式。

首先我们先退出刚刚打开的py2_pytorch环境

(py2_pytorch) [ansheng@ocr-gpu-12-10 ~]$ source deactivate
(base) [ansheng@ocr-gpu-12-10 ~]$

base环境是我平时最常用的python环境,这里面安装了tensorflow,因此在base环境中我可以进行如下操作:

(base) [ansheng@*** ~]$ python
Python 2.7.15 |Anaconda, Inc.| (default, May  1 2018, 23:32:55) 
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import tensorflow
>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named torch
>>> 

可以看到,在base环境下,我们运行python后,可以import一些常规库如numpy,也可以成功import tensorflow。但是我们没有安装pytorch,因此我们import torch失败。

这时,当我们想安装一个pytorch,但是又担心pytorch和tensorflow这两个依赖都比较多的库产生冲突时,conda就派上用场了。

正如我们之前做的那样,我们可以新建一个和当前python环境完成隔离的新的环境,在这个环境中来维护pytorch所需的所有依赖。因此,当我想要使用pytorch时,我仅仅需要激活py2_pytorch环境即可,例如:

[ansheng@*** ~]$source activate py2_pytorch
(py2_pytorch) [ansheng@*** ~]$
(py2_pytorch) [ansheng@*** ~]$ python
Python 2.7.15 |Anaconda, Inc.| (default, May  1 2018, 23:32:55) 
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import torch
>>> import tensorflow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named tensorflow
>>> quit()
发布了87 篇原创文章 · 获赞 325 · 访问量 52万+

猜你喜欢

转载自blog.csdn.net/u011583927/article/details/102234471
今日推荐