Anaconda介绍
Anaconda
Anaconda 是一个基于Python的环境管理工具. 相比其他库管理工具,它更适合数据工作者。 在Anaconda的帮助下,你能够更容易地处理不同项目下对软件库甚至是Python版本的不同需求。
Anaconda 包含 conda, Python 和超过150个科学相关的软件库及其依赖。 Conda是一个包管理工具。Anaconda是一个非常大的软件,因为它包含了非常多的数据科学相关的库。 如果你并不需要如此大量的库,你可以只安装 Miniconda, 一个简化版,仅包含 conda 和 Python。 然后你仍然可以安装其他所需的库。
在Conda环境下,你仅可以使用命令行,如果你对此不适应,可以看这个教学视频。 command prompt tutorial for Windows 或者 Linux Command Line Basics。我就假设你们都会命令行吧:)
管理包
Installing numpy with conda
包管理工具用来在你的电脑上安装库和软件。 你应该已经对pip比较熟悉了,那是Python的默认的库管理工具。 Conda和pip很相似,只是它更关注与数据科学相关的库。 另外,Conda并不是只支持Python的, 它也支持非Python的库。它是个适用于任何软件库的包管理工具。 所以,也并不是所有Python库都可以通过Anaconda获得。你仍然需要继续适用pip去安装其他的库。
Conda安装预编译过得库。 例如Anaconda适用MKL库编译 Numpy, Scipy and Scikit-learn并加速了一些数学操作。 所以所有库会有一些延迟,需要先做一些适配。
环境
使用Conda创建环境
在管理包的同时,Anaconda也可以做环境管理。 这和 virtualenv 、 pyenv等一系列环境管理工具相似。
多个环境允许你分开和隔离你在不同项目中使用的软件和库。通常情况下,你需要在不同项目中使用一些库的不同版本。例如,你的某些代码需要一些Numpy新版本中的特性,但是另外的代码却需要一些只有旧版本才有的方法。 你不可能在你的电脑上装两个版本,也不愿留意为了运行程序和频繁更换版本。 所以,建立带有不同Numpy版本的环境是最佳选择。
同样的,对于使用Python 2和3版本的程序,环境管理同样适用。
你也可以导出你用到的库的清单,然后在其他环境中加载。Pip有使用类似的操作: pip freeze > requirements.txt
.
安装 Anaconda
视频
http://v.youku.com/v_show/id_...
下载地址 https://www.continuum.io/down...
如果你已经安装过Python,Anaconda的安装并不会破坏原有环境,但你在Anaconda的环境中将使用Anaconda默认的Python版本。(如果你在安装的时候勾选了将Anaconda的Python版本设为默认的话会影响外部环境。)
先下载Python 3版本,你之后依然可以安装Python 2.
你可以通过 conda list
命令来查看你已经安装过的软件包.
在 Windows 上
在 Anaconda 时会提供其他软件:
- Anaconda Navigator, 一个GUI工具帮你管理包和环境
- Anaconda Prompt, 一个terminal来进行交互(我们通常使用这个)
- Spyder, 一个开源跨平台科学开发IDE
自带的库可能已经过时了,我们更新一下为了避免出错。打开 Anaconda Prompt ,在prompt, 执行:
conda upgrade conda
conda upgrade --all
如果询问是否要安装新库选“是”。
Note: 在之前的操作中, 执行 conda upgrade conda
不是必须的,因为 --all
包含了conda本身, 但是如果有的用户的Conda已经损坏了的坏可以尝试使用.
我们比较推荐用户熟悉Prompt而不是通过GUI来操作。
故障排除
如果在ZShell遇到 "conda command not found" , 那么先执行下列操作:
添加 export PATH="/Users/username/anaconda/bin:$PATH"
到你的 .zsh_config 文件.
管理包
一旦你装好了Anaconda,那安装库就很容易了。 需要安装时,直接输入 conda install 包名
就好. 例如, 如果需要安装 numpy, 输入 conda install numpy
.
[conda_default_install](https://youtu.be/yave-K2Iius)
你可以同时安装多个包。 例如 conda install numpy scipy pandas
会同时安装。 也可以指定版本号,例如 conda install numpy=1.10
.
Conda会自动安装依赖。例如, scipy 依赖于 numpy,。 如果你只安装 scipy (conda install scipy
), Conda 会自动安装 numpy 如果之前没安装过。
如果需要删除,直接使用 conda remove 包名
. 更新包 conda update package_name
. 如果需要更新环境中所有库, conda update --all
. 如果需要列出已安装软件, conda list
.
如果你不知道确切的包名,可以用 conda search
. 例如,我知道 Beautiful Soup,但不确定确切的包名,所以我尝试用 conda search beautifulsoup
.
Searching for beautifulsoup
它返回了合适的包名:beautifulsoup4.
环境管理
像我之前提到的, conda可以使用 create environments
来隔离项目. 为了建项目 conda create -n 环境名 包列表
. 这里-n
环境名 设置了你的环境名 (-n 代表name) 然后列出了你要安装的库. 例如,你要建立一个叫 my_env 的环境然后 install numpy , 输入 conda create -n my_env numpy
.
当创建环境的时候,你可以指明需要的Python版本。例如 conda create -n py3 python=3.3
或conda create -n py2 python=2
。
进入环境
一旦环境建立, 在OSX/Linux中用 source activate my_env
进入环境. Windows上,用 activate my_env
.
当你进入了环境,你可以看到环境名,如 (my_env) ~ $
. 退出环境, 输入source deactivate (on OSX/Linux)
. Windows上, use deactivate
.
保存和载入环境
一个使用的功能是你可以分享你安装的软件列表给别人,然后执行代码安装。 你可以用一个YAML 文件来存储列表。conda env export > environment.yaml
. 第一部分 conda env export
写出了现有库。
Exported environment printed to the terminal
当你在别的电脑上要导入时,只用通过yaml文件来创建环境就行了。 conda env create -f environment.yaml
.
列出环境
如果你忘记了环境名,可以用conda env list
来列出你需要的环境名。,默认环境叫 root
.
删除环境
如果你有不需要的环境, conda env remove -n env_name
来删除 (here, named env_name).