1.Anaconda是什么?
Anaconda在英文中是“蟒蛇”,麻辣鸡(Nicki Minaj妮琪·米娜)有首歌就叫《Anaconda》 anaconda,表示像蟒蛇一样性感妖娆的身体。
这里,Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 500 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。
Anaconda的图标 loggo就像一个收尾互相咬住的“蟒蛇”。
你可能已经安装了 Python,那么为什么还需要 Anaconda?有以下3个原因:
- Anaconda 附带了一大批常用数据科学包,它附带了 conda、Python 和 150 多个科学包及其依赖项。因此你可以立即开始处理数据。
- 管理包。
Anaconda 是在 conda(一个包管理器和环境管理器)上发展出来的。
在数据分析中,你会用到很多第三方的包,而conda(包管理器)可以很好的帮助你在计算机上安装和管理这些包,包括安装、卸载和更新包。 - 管理环境。
比如你在A项目中用了 Python 2,而另一个项目B却要求使用Python 3,而同时安装两个Python版本可能会造成许多混乱和错误。这时候 conda就可以帮助你为不同的项目建立不同的运行环境。
还有很多项目使用的包版本不同,比如不同的pandas版本,不可能同时安装两个 Numpy 版本,你要做的应该是,为每个 Numpy 版本创建一个环境,然后项目的对应环境中工作。这时候conda就可以帮你做到。
2.安装Anaconda
Anaconda 可用于多个平台( Windows、Mac OS X 和 Linux)。你可以在Anaconda官网上找到安装程序和安装说明。根据你的操作系统是32位还是64位选择对应的版本下载。
实际上,你选择对应python2或python3的哪一个版本是无所谓的,它只代表安装后缺省的python版本,因为你可以创建不同版本的环境,并可随时切换。
安装过程中,建议不选在将Anaconda目录加入到PATH环境变量中,以免与单独安装的Python路径产生冲突。执行conda命令时,可打开Anaconda Prompt,这是Anaconda自带的终端,启动时会设置必要的环境变量,令你可运行conda命令。若汝用普通的windows cmd命令,则可能会出现找不到命令的提示。
安装Anaconda后,需更新所有包,以防因为某些包的版本比较老旧,产生版本依赖关系错误。 在终端输入更新所有包的命令:conda upgrade --all
,并在提示是否更新时输入y(Yes)
让更新继续。
conda命令从conda cloud下载更新包,由于在境外,下载速度比较慢,甚至会由于众所周知的原因,无法下载,报错:CondaHTTPError: HTTP 000 CONNECTION FAILED
之类的网络错误,可以用下面的方法解决:
在终端中运行如下命令:
conda config --add channels mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
添加清华大学的镜像服务器。
如果用命令行添加不上,可以在用户目录找到.condarcw文件。这个配置文件在 ~/.condarc (Linux/Mac) 或 C:\Users\当前用户名.condarc (Windows):
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls: true
如果使用conda安装包的时候还是很慢,那么可以考虑使用pip来安装,同样把 pip 的镜像源地址也改成国内的,豆瓣源速度比较快。修改 ~/.pip/pip.conf (Linux/Mac) 或 C:\Users\当前用户名\pip\pip.ini (Windows) 配置:
[global]
trusted-host = pypi.douban.com
index-url = http://pypi.douban.com/simple
3.管理包
安装Anaconda后,就可以用conda命令方便的管理包了。
3.1 安装包
命令:
conda install package_name
例如:安装pandas,输入
condda install pandas
安装多个包,如同时安装pandas、numpy包:
conda install pandas numpy
指定包的版本号:
conda install numpy=1.10
conda会自动安装依赖项,如scipy包依赖于numpy包,那么
conda install scipy
会自动安装numpy包,如果还未安装的话。
3.2 卸载包
命令:conda remove package_name
例如,卸载padas包:
conda remove pandas
3.3 更新包
命令:
conda update package_name
更新所有的包,加--all
选项:conda update -all
3.4 列出所有的包
命令:conda list
3.5 搜索包
命令:conda search search_term
例如,想检查一下numpy包是否已经安装,可使用conda search num
模糊查找列表中是否包含numpy包。
在conda中,anything is a package。conda本身可以看做是一个包,python环境也可以看做是一个包,anaconda也是一个包,因此除了普通的第三方包支持更新之外,这三个包也支持更新。
# 更新conda本身
conda update conda
# 更新anaconda应用
conda update anaconda
#更新python,假设当前python环境版本是3.6.3,而最新版本是3.6.3,那么就会升级到3.6.3。
conda update python
4.管理环境
conda可以为不同的项目创建不同的环境。
4.1 创建环境
命令:conda create --name env_name packages_name
--name
选项可简化为-n
,指出要创建的环境名称,并可以在创建环境时安装包。
例如:conda create -n py3 pandas
创建了名称为py3的环境,并安装pandas包。
创建环境的时候,可以指定python的版本:
conda create -n py3 python=3
环境py3中会安装最新版本的python3。
conda create -n py3 python=3.6
指定使用3.6版本的python。
4.2 激活环境
windows中使用activate env_name
命令,OS/X和linux中使用source activate env_name
命令激活环境。
例如:activate py3
进入py3环境后可使用conda list
命令查看py3
环境中已经安装的包。在新的环境中,可使用conda install package_name
命令继续安装其他需要的包。
4.3 离开环境
命令:deactivate
(windows适用)或source deactivate
(OS/X或Linux适用)。
4.4 共享环境
如果你想向他人共享你自己创建的环境,以供其他项目用你项目的配置,主要是保持包的版本一致。就可以使用conda env export > enviroment.yml
命令将源环境的包的配置数据保存到enviroment.yml
文件中,其他项目就可以在目标环境中,执行命令conda env update -f path/to/enviroment.yml
将目标环境更新为与源环境完全一样。
对于不使用conda的情况下,python的pip命令也是可以做到这一点的:
pip freeze > enviroment.txt #将环境配置导出到enviroment.txt文本文件中。
pip install -r /path/to/enviroment.txt #恢复环境
4.5 列出环境
命令:conda env list
列出所有的环境,当前激活的环境对应的目录前会显示一个*号。
4.6 删除环境
命令:conda env remove -n env_name
网友评论