纯终端命令开始你的Anaconda安装与Python环境管理

  • 1 检查系统的Python版本与下载
  • 2 终端开始安装Anaconda
  • 3 使用conda管理你的Python环境
    • 3.1 基本命令
    • 3.2 conda管理环境与保存环境配置
      • 3.2.1 环境管理原因与环境命名细则
      • 3.2.2 查看已有python环境
      • 3.2.3 确定命名并且创建新的环境
        • 一、创建一个python2.7的环境
        • 二、创建一个python3.6和一个最新版本python的环境
      • 3.2.4 克隆环境与环境重命名
        • 一、克隆环境
        • 二、环境重命名
      • 3.2.5 保存/导出环境配置
  • 3 在conda安装的python环境中使用pip安装包

本篇博客为博主某次闲得无聊运行了 rm -rf anaconda2/后需要重新安装Anaconda所写。
在看博客前,你需要知道,本篇博客针对Ubuntu,也就是Linux环境下的Anaconda与Python环境管理。

1 检查系统的Python版本与下载

为了确定需要安装的Anaconda版本,需要先确定系统的Python版本,在你的终端运行以下命令查看python的版本:

python --version

在这里,我的电脑显示的版本为Python 2.7.12
然后到Anaconda的官网找到适合的版本,参考下图,这里我选的是Python2.7 version 的64-Bit(x86) Installer,默认选择这个,除非你的硬件支持Power 8和Power 9,复制下载地址如下:

https://repo.anaconda/archive/Anaconda2-2019.07-Linux-x86_64.sh


使用wget命令下载Anaconda2-2019.07-Linux-ppc64le.sh这个文件:

wget https://repo.anaconda/archive/Anaconda2-2019.07-Linux-x86_64.sh

2 终端开始安装Anaconda

下载完毕后,即可运行以下命令开始安装Anaconda:

bash Anaconda2-2019.07-Linux-x86_64.sh

接下来根据终端的提示完成安装:
第一步、按回车继续

第二步、按回车阅读《Anaconda End User License Agreement》

阅读完毕后进入第三步
第三步、输入yes并按回车确认accept the license terms

第四步、按回车确认安装路径

第五步、开始解压安装,需要等待比较长一段时间

漫长的文件提取过程

第六步、等待安装完之后,输入yes然后按回车确认conda init

第七步、关掉终端,然后重新打开终端,输入以下命令:

conda env list

没有提示错误,并且返回conda environments,说明安装成功。
我的系统返回结果如下:

(base) lab-chen.yirong@gpu-6:~$ conda env list
# conda environments:
#
base                  *  /home/lab-chen.yirong/anaconda2

3 使用conda管理你的Python环境

3.1 基本命令

查看版本:

conda --version

或者

conda -V

查看帮助:

conda --help

或者

conda -h

更一般地,我们只需要在某一个命令后面加上--help就可以获得相对应的帮助,例如:
查看conda install命令的帮助:

conda install --help

查看conda remove命令的帮助:

conda create --help

3.2 conda管理环境与保存环境配置

3.2.1 环境管理原因与环境命名细则

在开始使用conda管理python环境之前,需要强调几点:
1、因为工作需要以及学习需要,我们通常需要不同版本的python或者不同版本的python的package来保证我们的代码正常运行。例如,我们需要复现别人的NLP实验,这里以ACL2019的两篇最佳论文为例,某一篇论文运行环境是Python2.7+Tensorflow1.8.0(ACL2019的Emotion-Cause Pair Extraction: A New Task to Emotion Analysis in Texts,源码);另一篇论文运行环境是Python2.8+Pytorch1.0.0(ACL2019的TRADE Multi-Domain and Unseen-Domain Dialogue State Tracking,源码)。更一般地,由于python2和python3存在很大的差别,所以,我们的服务器可能至少需要两个不同版本的python以便我们能够同时使用python2和python3。
2、在正式管理环境的时候,需要规范一下自己的环境名称,最好提前建立一套命名规则,其次,要学会保存好自己的环境配置,并且定期更新环境配置。所以,这里谈谈命名规则:

  • 一是要简短,因为我们进入环境前需要使用conda activate env_name #env_name就是要激活的环境名称,所以简短的名称既容易记忆也容易打出来;
  • 二是不要使用下划线,这会影响你的输入速度;
  • 三是要体现python版本;
  • 四是可以考虑工程特性,例如是偏向于NLP还是偏向于CV;
  • 五是可以考虑体现重要包,例如tensorflow、pytorch等。

例如:py27、py36、nlppy27、cvpy27、nlppy36、cvpy36、tfpy27、torchpy36等等。

3.2.2 查看已有python环境

在创建环境之前,一个好的习惯就是先查看已有的python环境,确保已有python环境不适合自己的任务,再去创建新的环境。
conda 提供了两种列举已有环境的命令,如下:
命令1:

conda env list

命令2:

conda info --envs

3.2.3 确定命名并且创建新的环境

一、创建一个python2.7的环境

不指定工程特性、考虑体现重要包,因此命名为py27,因为创建的单词为create,所以相对应的创建命名为conda create,我们可以通过以下命令获取帮助:

conda create --help

常用的参数有--clone-n,当然,帮助里面还告诉了我们很多其他参数,可以以后慢慢了解。不妨直接拉到帮助的最后,因为在最后面给出了一个使用例子,如下:

Examples:

    conda create -n myenv sqlite

因此,参考这个Examples,完整的py27创建命令如下:

conda create -n py27 python=2.7  #python=2.7指定python版本

终端提示如下:

需要输入y并按回车确认创建环境:

环境创建完成后会有如下提示:

这个时候,我们可以用conda env list来查看最新的环境列表,结果如下:

其中,带*的表示当前所处的环境,当然,在用户名左侧也会用一个加括号的环境名标记出来。

二、创建一个python3.6和一个最新版本python的环境

类似地,命令为:

conda create -n py36 python=3.6  #python=3.6指定版本

目前最新版本的python为python3.7.4【2019年08月03日参考python官网】,相应地,创建命令为:

conda create -n py36 python=3.7  #python=3.7指定版本

最终,我们用conda env list来查看最新的环境列表,如下:

至此,我们已经安装完了相应的环境。

3.2.4 克隆环境与环境重命名

一、克隆环境

当然,在以后,我们还可能会因为某一个包的版本而继续增加环境,这个时候可能会用到环境复制功能,很明显,如果python版本相同,只需要更改某个package,则先复制已有环境,再改变某个package的版本,即可完成相对应的环境设置,此时,建议环境命名为某个包名+python版本。例如原先的py36当中的torch版本为1.0.0,而我们希望其他包不变,只改变torch版本为0.4.0则建议新建的环境名为:torch04py36。完整的克隆环境命令如下:

conda create -n torch04py36 --clone py36 #torch04py36是新环境名,py36是待克隆环境名

此时再查看环境列表,如下:

我们再进入torch04py36环境更改torch版本版本为0.4即可。

二、环境重命名

环境重命名只需要先克隆环境,再删除原来的环境即可,例如我想把torch04py36更改为th04py36,则只需要按顺序执行以下两条命令:
第一条:

conda create -n th04py36 --clone torch04py36  # 新建一个命名为th04py36的环境

第二条:

conda remove -n torch04py36 --all # 删除环境torch04py36

3.2.5 保存/导出环境配置

前面已经强调了,一个很好的习惯就是要经常保存环境参数,那么,导出环境配置通常分为两部分:

  • 一、进入/激活(activate)该环境
  • 二、导出环境配置到指定文件

这里以导出py36的环境配置为例:
首先激活py36环境:

conda activate py36  # conda activate 环境名

PS:退出当前环境的命令为source deactivate
然后导出py36环境配置到当前文件夹下,奖环境配置命名为:环境名_env_日期,例如py36_env_190803.yml,命令如下:

conda env export --file py36_env_190803.yml

我们可以用ls命令查看当前文件夹下是否存在py36_env_190803.yml,可以看到,当前文件夹下已经保存了该文件:

如果我们想通过别人的环境文件来创建相应的环境,例如:根据py36_env_190803.yml创建环境python36,只需执行以下命令:

conda env create -n python36 --file py36_env_190803.yml

3 在conda安装的python环境中使用pip安装包

由于我们同时安装了多个python环境,因此,直接使用pip命令,可能无法正确安装指定的包到我们所需要的python环境下,这显然不利于我们管理python环境。
通常情况下,我们会使用到以下几条pip命令:

pip install package_name
pip search package_name
pip show package_name
pip uninstall package_name
pip list

这个时候,pip是在管理系统自带的python环境,而不是管理我们指定的python环境,尽管我们已经通过conda activate env_name或者source activate env_name激活我们希望管理的python环境。
一个好的办法是使用指定python环境下的pip命令,以下操作将展示解决办法:

  • 首先需要进入指定的python环境,例如:
conda activate py27
  • 然后,确保你在这个环境下已经安装了pip:
conda install pip
  • 接下来是关键部分,我们只需要在普通的pip命令前加上路径就可以了,例如,我们现在激活的python环境对应路径为:/home/lab-chen.yirong/anaconda2/envs/py27,那么,pip命令对应的位置为/home/lab-chen.yirong/anaconda2/envs/py27/bin/,因此要运行该环境下的pip命令,正确的做法为:
/home/lab-chen.yirong/anaconda2/envs/py27/bin/pip install package_name

上述方法可以保证我们把package安装到我们现在所激活的python环境,并且我们所安装的package能被conda管理,并且能在该python环境下使用。

以上就是关于《纯终端命令开始你的Anaconda安装与Python环境管理》的所有内容,下一篇Python学习系列会详细讲述conda的包管理。

【作者简介】陈艺荣,男,目前在华南理工大学电子与信息学院广东省人体数据科学工程技术研究中心攻读博士。曾获2次华南理工大学三好学生、华南理工大学“优秀共青团员”、新玛德一等奖学金(3000元,综测第3)、华为奖学金(5000元,综测第3)、汇顶科技特等奖学金(15000元,综测第1),两次获得美国大学生数学建模竞赛(MCM)一等奖,获得2016年全国大学生数学建模竞赛(广东赛区)二等奖、2017年全国大学生数学建模竞赛(广东赛区)一等奖、2018年广东省大学生电子设计竞赛一等奖等科技竞赛奖项,主持一项2017-2019年国家级大学生创新训练项目获得优秀结题,参与两项广东大学生科技创新培育专项资金、一项2018-2019年国家级大学生创新训练项目获得良好结题、4项华南理工大学“百步梯攀登计划”项目,发表SCI论文3篇授权实用新型专利5项,在受理专利17项(其中发明专利13项,11项进入实质审查阶段)。
我的Github
我的CSDN博客
我的Linkedin

更多推荐

【Python学习】纯终端命令开始你的Anaconda安装与Python环境管理