这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » Python视频教程之Python开发工具Anaconda分享

共3条 1/1 1 跳转至

Python视频教程之Python开发工具Anaconda分享

菜鸟
2020-12-29 18:04:33     打赏

Python易用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题,特别是当你使用Windows的时候。为了解决这些问题,有不少发行版的Python,比如WinPython、Anaconda等,这些发行版将python和许多常用的package打包,方便pythoners直接使用,此外,还有virtualenv、pyenv等工具管理虚拟环境。


个人尝试了很多类似的发行版,最终选择了Anaconda,因为其强大而方便的包管理与环境管理的功能。该文主要介绍下Anaconda,对Anaconda的理解,并简要总结下相关的操作。

Anaconda概述

Anaconda是一个用于科学计算的Python发行版,支持Linux,Mac,Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。

这里先解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。

进入下文之前,说明一下conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。

Anaconda的安装

Anaconda的下载页参见官网下载,Linux、Mac、Windows均支持。

安装时,会发现有两个不同版本的Anaconda,分别对应Python2.7和Python3.5,两个版本其实除了这点区别外其他都一样。后面我们会看到,安装哪个版本并不本质,因为通过环境管理,我们可以很方便地切换运行时的Python版本。(由于我常用的Python是2.7和3.4,因此倾向于直接安装Python2.7对应的Anaconda)

下载后直接按照说明安装即可。这里想提醒一点:尽量按照Anaconda默认的行为安装——不使用root权限,仅为个人安装,安装目录设置在个人主目录下(Windows就无所谓了)。这样的好处是,同一台机器上的不同用户完全可以安装、配置自己的Anaconda,不会互相影响。

对于Mac、Linux系统,Anaconda安装好后,实际上就是在主目录下多了个文件夹(~/anaconda)而已,Windows会写入注册表。安装时,安装程序会把bin目录加入PATH(Linux/Mac写入~/.bashrc,Windows添加到系统变量PATH),这些操作也完全可以自己完成。以Linux/Mac为例,安装完成后设置PATH的操作是

#将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin
echo'exportPATH="~/anaconda2/bin:$PATH"'>>~/.bashrc
#更新bashrc以立即生效
source~/.bashrc


配置好PATH后,可以通过whichconda或conda--version命令检查是否正确。假如安装的是Python2.7对应的版本,运行python--version或python-V可以得到Python2.7.12::Anaconda4.1.1(64-bit),也说明该发行版默认的环境是Python2.7。

Conda的环境管理

Conda的环境管理功能允许我们同时安装若干不同版本的Python,并能自由切换。对于上述安装过程,假设我们采用的是Python2.7对应的安装包,那么Python2.7就是默认的环境(默认名字是root,注意这个root不是超级管理员的意思)。

假设我们需要安装Python3.4,此时,我们需要做的操作如下:

  #创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本)
  condacreate--namepython34python=3.4
  #安装好后,使用activate激活某个环境
  activatepython34#forWindows
  sourceactivatepython34#forLinux&Mac
  #激活后,会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.4对应的命令加入PATH
  #此时,再次输入
  python--version
  #可以得到`Python3.4.5::Anaconda4.1.1(64-bit)`,即系统已经切换到了3.4的环境
  #如果想返回默认的python2.7环境,运行
  deactivatepython34#forWindows
  sourcedeactivatepython34#forLinux&Mac
  #删除一个已有的环境
  condaremove--namepython34--all


用户安装的不同python环境都会被放在目录~/anaconda/envs下,可以在命令中运行condainfo-e查看已安装的环境,当前被激活的环境会显示有一个星号或者括号。

说明:有些用户可能经常使用python3.4环境,因此直接把~/anaconda/envs/python34下面的bin或者Scripts加入PATH,去除anaconda对应的那个bin目录。这个办法,怎么说呢,也是可以的,但总觉得不是那么elegant……

如果直接按上面说的这么改PATH,你会发现conda命令又找不到了(当然找不到啦,因为conda在~/anaconda/bin里呢),这时候怎么办呢?方法有二:1.显式地给出conda的绝对地址2.在python34环境中也安装conda工具(推荐)。

Conda的包管理

Conda的包管理就比较好理解了,这部分功能与pip类似。

例如,如果需要安装scipy:

  #安装scipy
  condainstallscipy
  #conda会从从远程搜索scipy的相关信息和依赖项目,对于python3.4,conda会同时安装numpy和mkl(运算加速的库)
  #查看已经安装的packages
  condalist
  #最新版的conda是从site-packages文件夹中搜索已经安装的包,不依赖于pip,因此可以显示出通过各种方式安装的包


conda的一些常用操作如下:

  #查看当前环境下已安装的包
  condalist
  #查看某个指定环境的已安装包
  condalist-npython34
  #查找package信息
  condasearchnumpy
  #安装package
  condainstall-npython34numpy
  #如果不用-n指定环境名称,则被安装在当前活跃环境
  #也可以通过-c指定通过某个channel安装
  #更新package
  condaupdate-npython34numpy
  #删除package
  condaremove-npython34numpy


前面已经提到,conda将conda、python等都视为package,因此,完全可以使用conda来管理conda和python的版本,例如

  #更新conda,保持conda最新
  condaupdateconda
  #更新anaconda
  condaupdateanaconda
  #更新python
  condaupdatepython
  #假设当前环境是python3.4,conda会将python升级为3.4.x系列的当前最新版本


补充:如果创建新的python环境,比如3.4,运行condacreate-npython34python=3.4之后,conda仅安装python3.4相关的必须项,如python,pip等,如果希望该环境像默认环境那样,安装anaconda集合包,只需要:

  #在当前环境下安装anaconda包集合
  condainstallanaconda
  #结合创建环境的命令,以上操作可以合并为
  condacreate-npython34python=3.4anaconda
  #也可以不用全部安装,根据需求安装自己需要的package即可


设置国内镜像

如果需要安装很多packages,你会发现conda下载的速度经常很慢,因为Anaconda.org的服务器在国外。所幸的是,清华TUNA镜像源有Anaconda仓库的镜像,我们将其加入conda的配置即可:

  #添加Anaconda的TUNA镜像
  condaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  #TUNA的help中镜像地址加有引号,需要去掉
  #设置搜索时显示通道地址
  condaconfig--setshow_channel_urlsyes


执行完上述命令后,会生成~/.condarc(Linux/Mac)或C:UsersUSER_NAME.condarc文件,记录着我们对conda的配置,直接手动创建、编辑该文件是相同的效果。

最后想要了解更多关于Python发展前景趋势,请关注扣丁学堂Python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供最新的Python视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的Python视频教程课程,让你快速掌握Python从入门到精通开发实战技能。扣丁学堂python学习交流群:816572891。微信号:codingbb




工程师
2020-12-29 22:32:07     打赏
2楼

感谢您的分享


工程师
2020-12-29 22:40:01     打赏
3楼

学到了


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]