anaconda使用教程

anaconda简绍 anaconda和python的关系
python是一门编程语言,官方的Python包含了核心的模块和库,为了使用其他的功能,需要单独下载其他的模块和库。
anaconda将python和许多更高级功能的库捆绑在一起,形成了一个方便的科学计算环境,安装了Ananconda就相当于安装了Python外加这些模块和库。省去了自己下载和安装各种包的麻烦,特别上linux上升级和安装python十分麻烦。当然Anaconda主要的功能还在于你可以方便进行环境管理。
总之anacond = python + 高级功能库 + IDE(集成开发环境,anaconda包中自带的IDE: jupyter notebook 和spyder)
Anaconda、conda、pip、virtualenv的区别

  • Anaconda
    Anaconda是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。
  • conda
    conda是anaconda中包及其依赖项和环境的管理工具。conda包和环境管理器包含于Anaconda的所有版本当中。只要你安装了anaconda就会自动安装conda包。
    conda包不仅仅适用于Python, 还适用于R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN等其他语言。并可以在任何平台上运行。
    conda可以快速安装、运行和升级包及其依赖项。并可以在计算机中便捷地创建、保存、加载和切换环境。
  • PIP
    PIP是通用的Python包管理工具,提供了对 Python 包的查找、下载、安装、卸载、更新等功能。在Python3.4(一说是3.6)及更新的版本中,PIP已经捆绑安装了,不需要再单独安装。
  • virtualenv
    virtualenv是用于创建一个独立的Python环境的工具包。可通过pip安装使用。
    pip 与 conda 比较
  • 依赖项检查
    pip:
    • 不一定会展示所需其他依赖包。
    • 安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误。
    conda:
    • 列出所需其他依赖包。
    • 安装包时自动安装其依赖项。
    • 可以便捷地在包的不同版本中自由切换。
  • 环境管理
    pip:维护多个环境难度较大。
    conda:比较方便地在不同环境之间进行切换,环境管理较为简单。
  • 对系统自带Python的影响
    pip:在系统自带Python中包的更新/回退版本/卸载将影响其他程序。
    conda:不会影响系统自带Python。
  • 适用语言
    pip:仅适用于Python。
    conda:适用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN等。
  • conda与pip、virtualenv的关系
    conda结合了pip和virtualenv的功能。
下载安装 网络上有大量的介绍,在此就不在做赘述。
conda管理 window用户在anacon目录下启动“Anaconda Prompt”,macOS和Linux用户请使用“Terminal”进行操作。
  • 【anaconda使用教程】conda自身相关
    • 查看当前conda工具版本号: conda --version
    • 查看包括版本的更多信息: conda info
    • 更新conda至最新版本: conda update conda
    • 查看conda帮助信息: conda -h
  • conda环境管理相关
    • 查看conda环境管理命令帮助信息: conda create --help
    • 创建python环境(创建出来的虚拟环境所在的位置为conda路径下的env/文件下,默认创建和当前python版本一致的环境.): conda create --name envname
    • 创建新环境时指定版本(以python3.6版本为例),环境名称为python36: conda create --name python36 python=3.6
    • 切换环境(以python36的环境为例,默认是base环境),切换后可通过python -V查看是否切换成功: conda activate python36
    • 返回前一个python环境: conda deactivate
    • 显示已创建的环境,会列出所有的环境名和对应路径: conda info -e
    • 删除虚拟环境(envname为环境名称): conda remove --name envname --all
    • 指定python版本,以及多个包(envname为环境名称): conda create -n envname python=3.6 scipy=0.15.0 astroib numpy
    • 查看当前环境安装的包: conda list #获取当前环境中已安装的包
      conda list -n python36 #获取指定环境中已安装的包(python36为环境名)
    • 重命名环境(conda 其实没有重命名指令,实现重命名是通过 clone 完成的,分两步:先 clone 一份 new name 的环境然后删除 old name 的环境)比如,想把环境 rcnn 重命名成 tf: conda create -n tf --clone rcnn #克隆环境rcnn
      conda remove -n rcnn --all #删除rcnn环境
    • 克隆一个环境(clone_env 代指克隆得到的新环境的名称,envname 代指被克隆的环境的名称): conda create --name clone_env --clone envname
      conda info --envs #查看conda环境信息
  • 包相关
    • 查看当前环境下所有的包(前提是进入到该环境下):conda list
    • 查找包: conda search py #模糊查找,即模糊匹配,只要含py字符串的包名就能匹配到
      conda search --full-name python #--full-name表示精确查找,即完全匹配名为python的包
    • 安装更新删除包:
      conda install scrapy #在当前环境中安装包
      conda install -n python36 scrapy #在python36环境中安装包
      conda update scrapy #在当前环境中更新包
      conda update -n python36 scrapy #在python36环境中更新包
      conda update --all #更新当前环境所有包
      conda remove scrapy #在当前环境中删除包
      conda remove -n python36 scrapy #在python36环境中删除包
  • Python管理相关
    • 查找可以安装的python: conda search python #查找所有名称包含python的包
    • 安装不同版本的Python(在不影响当前版本的情况下,新建环境并安装不同版本的python) conda create -n py36 python=3.6 anaconda #py36为您要创建的环境的名称。anaconda是元数据包,带这个会把base的基础包一起安装,不带的话新环境只包含python3.6相关的包。 python = 3.6是您要在此新环境中安装的软件包和版本。
    • 激活想要使用的环境(py36为环境名): conda activate py36
    • 更新Python: conda update python
    • 将python更新到指定版本的: conda install python=3.6
  • 分享环境(在不同的电脑上创建相同的环境-同一个版本的python及各种包)
    • 首先通过activate target_env(target_env为要分享的环境名),然后输入下面的命令会在当前工作目录下生成一个environment.yml文件: conda env export > environment.yml
    • 小伙伴拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境: conda env create -f environment.yml

    推荐阅读