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:
- 不一定会展示所需其他依赖包。
- 安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误。
- 列出所需其他依赖包。
- 安装包时自动安装其依赖项。
- 可以便捷地在包的不同版本中自由切换。
- 环境管理
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环境管理命令帮助信息:
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环境管理命令帮助信息:
- 包相关
- 查看当前环境下所有的包(前提是进入到该环境下):
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:
- 分享环境(在不同的电脑上创建相同的环境-同一个版本的python及各种包)
- 首先通过activate target_env(target_env为要分享的环境名),然后输入下面的命令会在当前工作目录下生成一个environment.yml文件:
conda env export > environment.yml
- 小伙伴拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境:
conda env create -f environment.yml
- 首先通过activate target_env(target_env为要分享的环境名),然后输入下面的命令会在当前工作目录下生成一个environment.yml文件: