1. Anaconda 与 Conda 是什么?
1.1 什么是 Anaconda
Anaconda 是一个用于python/R科学计算和机器学习的开源工具(也称为Python的一种发行版),支持 Linux, macOS, Windows, 包含了conda等众多工具包及其依赖项,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。到目前为止,它在全世界拥有超过1100万用户。
讲到Anaconda,就不得不提到Miniconda 。
1.2 什么是 Miniconda
- 相较于Anaconda会预安装众多的软件包,Miniconda就是一个迷你 Anaconda,只是预安装conda、Python及其依赖;
- 用户在使用过程中根据自己的需求再使用conda安装软件包或创建各种环境;
- 对于内存有限,或者觉得Anaconda预安装过于冗余的童鞋可以选择Miniconda.
1.3 什么是 conda
Package, dependency and environment management for any language—Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN*
conda是一种开源的包和环境管理系统。
- 适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN*
- 适用平台:Windows, macOS, Linux
包管理
- 作为包管理工具,conda将所有的工具和第三方程序都当作包来管理;
- conda 可以快速安装,运行和更新包及其相关的依赖关系。
环境管理
- conda也是一个环境管理工具, 可以创建多个虚拟环境,并基于工作目的在切换环境使用不同版本的工具包。例如,电脑上除了默认版本的Python,还可以创建其他各种版本python封闭环境,并在这些python版本之间进行快速切换。
讲到到Python包管理器,就不得不提到 pip。 pip是标准Python发行版自带的包管理工具,用于查找、下载、安装、卸载安装包。
conda VS pip
pip
- pip是标准Python发行版的包管理器,只能用于Python;
- pip安装包时并不会自动安装相关的依赖关系;
- pip 无法管理Python 版本;
conda
- conda 安装包时会自动安装相关的依赖关系;
- conda 适用于Python, R等多种语言,可以安装python包以外的其他软件;
- conda 可以管理Python 版本;
- conda 可以创建和管理虚拟环境;
1.4 Anaconda 的优点
- 快速下载和安装1500 + Python/R 数据科学包
- 使用Conda 管理库、依赖项和环境
- 使用scikit-learn、TensorFlow和Theano开发和训练机器学习和深度学习模型
- 使用Dask、NumPy、panda和Numba分析数据
- 使用Matplotlib、Bokeh、Datashader和Holoviews可视化结果
2. Anaconda 安装
安装条件
- 操作系统: Windows >= 7.0, 64-bit macOS 10.10+, Linux( Ubuntu, RedHat, CentOS 6+)
- 磁盘大小:>5 GB
从Anaconda官网下载Anaconda ,下载Python 3.7 version ;
这个有两种安装模式:
64-Bit Graphical Installer (634 MB)
64-Bit Command-Line Installer (544 MB)
2.1 基于macOS GUI方式安装
- 在Anaconda Distribution页面下载安装包:Anaconda3-5.3.1-MacOSX-x86_64.pkg
-
安装:直接双击;
- 接下来,一步步Continue;
-
最终出现如下界面,就表示安装成功了。
2.2 基于macOS的命令操作方式安装
在Anaconda Distribution页面下载安装包: Anaconda3-5.3.1-MacOSX-x86_64.sh
bash ~/Downloads/Anaconda3-5.3.1-MacOSX-x86_64.sh
- 接着出现:Please, press ENTER to continue ;
- 按下 Enter 键继续: 这一步就是浏览软件许可协议,直接按Enter滑到底,输入yes, 接下来出现:
Anaconda3 will now be installed into this location:
/Users/Username/anaconda3 #anaconda3现在安装路径
\- Press ENTER to confirm the location #ENTER确认anaconda3就安装到/Users/Username下
\- Press CTRL-C to abort the installation #中止安装
\- Or specify a different location below #在后面自己指定安装路径
- 这儿选择默认安装路径( /home/<user>/.bash_profile),直接点击Enter;
好了,接下来泡杯茶,等一会儿。。。。。。。。。。。。 - 安装好了之后,又要推销Microsoft VScode;
我选择no,因为我已经安装过了;
$ source ~/.bash_profile
$ python --version
Python 3.6.7 :: Anaconda, Inc.
$ vi ~/.bash_profile
Anaconda安装好了,打开Anaconda Navigator检查一下;
3. Anaconda Navigator 了解和使用
3.1 Anaconda Navigator
Anaconda Navigator是 Anaconda 内置的桌面图形用户界面(GUI),不需要使用命令行就可以启动应用和管理conda包和环境。
Home: 当前环境下的应用程序
- 在Spyder IDE中运行Python
打开Spyder ,展示的是默认界面(通过view -> Panes 调整):
左边面板是编辑器;
右上方面板可以查看帮助,变量,当前目录文件系统;
右下面板是IPython console: 可以查看运行结果或运行日志;
a.构建一个hello.py程序
print("Hello Anaconda")
b. 运行(F5),右下角Console查看程序运行状态
- 在Jupyter Notebook中运行Python
Try in Your Browser. No Installation Needed.
启动jupyter notebook
$ jupyter notebook
#New->Python3
print("Hello Anaconda")
#Run or Cell -> Run Cells
-
jupyterlab
基于Web 的下一代 Jupyter,集成了更多的功能;
Qt console
Qt console 作为一个非常轻量级的应用程序,在很大程度上与终端是相似的;但是 它也拥有GUI的部分功能, 内联图片,语法高亮......
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import jn
import math
x = np.linspace(0,4*math.pi)
for i in range(6):
plt.plot(x,jn(i,x))
Environments: Anaconda 下的环境管理;可以创建,克隆,导入,移除;
Learning: 学习资料
Community : Anaconda 社区
Document : Anaconda 教程
Developer Blog : Anaconda 开发者博客
4. conda 使用
conda 命令一览:
conda clean: #删除没有用到的包和清除缓存
conda config: #修改 .condarc
中的配置;这个命令是模仿 git config而来;默认写入到~/.condarc
conda create: #用于创建新环境
conda info: #查看conda 详细信息
conda install: #为指定的环境安装包
conda list: #查看指定环境安装包信息
conda remove: #移除指定环境指定安装包
conda search: #搜索安装包,并展示搜索结果
conda update: #更新安装包
4.1 管理 conda
conda 版本查看
$ conda --version
conda 4.5.12
conda 版本更新
$ conda update conda
4.2 conda 管理环境
查看已安装的环境
conda env list #conda info --envs
创建一个名为python36的环境,并安装Python 3.6和pandas
conda create --name python36 python=3.6 pandas
激活某个环境
conda 4.6以后版本
Windows: conda activate python36
Linux and macOS: conda activate python36
conda 4.6以前版本
Windows: activate python36
Linux and macOS: source activate python36
退出当前环境
conda deactivate
返回默认环境
conda activate
分享环境:将当前环境信息生成YAML文件
conda env export > environment.yaml
YAML文件格式:
name: stats2
channels:
- javascript
dependencies:
- python=3.4 # or 2.7
- bokeh=0.9.2
- numpy=1.9.*
- nodejs=0.10.*
- flask
- pip:
- Flask-Testing
利用YAML文件生成环境
conda env create -f environment.yaml
删除一个已有的环境及其安装包
conda remove --name myenv --all
4.3 conda 管理Python
创建一个包含Python 2.7的环境
conda create --name python27 python=2.7
conda activate python27
python -V
Python 2.7.15 :: Anaconda, Inc.
克隆环境python27: 可以使用此方法为环境重新命名
conda create --name myclone --clone python27
4.4 conda 管理包
查看当前环境已经安装的包
conda list
查看指定环境中的安装包
conda list -n python27
在Anaconda 库中搜索包
conda search numpy #模糊搜索
conda search numpy=1.12
conda search numpy[subdir=linux-64] #指定系统
conda search --override-channels --channel http://conda.anaconda.org/mutirri iminuit #指定仓库安装包
安装包到当前环境
conda install numpy
安装包到指定环境
conda install -n python27 numpy
同时安装多个包到当前环境
conda install numpy scipy
安装指定版本包到指定环境
conda install -n python27 scipy=0.15.0
安装包更新
conda update numpy
移除安装包
conda remove -n python27 scipy
4.5 Anaconda channels管理
Channels are the path that conda takes to look for packages.
conda 安装包时,首先在一系列仓库搜索包,然后根据规则进行优先级排序(默认):
- 根据channel priority排序;
- 根据version number排序;
- 根据build number排序;
- 选取优先级最高的包进行安装;
安装所有channel中最新版本, 如下设置
conda config --set channel_priority false
包安装规则顺序改为:
- 根据version number排序;
- 根据channel priority排序;
- 根据build number排序;
- 选取优先级最高的包进行安装;
查看已有的 channels
conda config --get channels
添加 channels
conda config --add channels
添加新的channel到最高优先级
conda config --add channels new_channel
添加新的channel到最低优先级
conda config --append channels new_channel
Anaconda 三方源
Conda-forge 包含许多默认channel中不存的packages;
Bioconda 是一个生物信息Channel, 提供超过6000个生物信息分析安装包供conda使用。
conda config --add channels bioconda
conda config --add channels conda-forge
使用国内Anaconda 仓库的镜像可以使conda加速安装工具。
添加清华大学Anaconda 镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
# Conda Forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
# bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
移除channel
conda config --remove channels channelName
参考:
Installing Anaconda Distribution on macOS
Anaconda Navigator
Navigator Cheat Sheet
Conda
conda cheat sheet
清华大学开源软件镜像站-Anaconda 镜像使用帮助