事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境。html
简单来讲,Anaconda是包管理器和环境管理器,Jupyter notebook 能够将数据分析的代码、图像和文档所有组合到一个web文档中。python
接下来我详细介绍下Anaconda,并在最后给出Jupyter notebook:web
1.Anaconda是什么?windows
2.如何安装?ide
3. 如何管理包?ui
4.如何管理环境?spa
5.Jupyter notebook如何快速上手?操作系统
1.Anaconda是什么?3d
anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 [1] 由于包含了大量的科学包,Anaconda 的下载文件比较大(约 515 MB),若是只须要某些包,或者须要节省带宽或存储空间,也可使用Miniconda这个较小的发行版(仅包含conda和 Python)。code
你可能已经安装了 Python,那么为何还须要 Anaconda?有如下3个缘由:
1)Anaconda 附带了一大批经常使用数据科学包,它附带了 conda、Python 和 150 多个科学包及其依赖项。所以你能够当即开始处理数据。
2)管理包
Anaconda 是在 conda(一个包管理器和环境管理器)上发展出来的。
在数据分析中,你会用到不少第三方的包,而conda(包管理器)能够很好的帮助你在计算机上安装和管理这些包,包括安装、卸载和更新包。
3)管理环境
为何须要管理环境呢?
好比你在A项目中用了 Python 2,而新的项目B老大要求使用Python 3,而同时安装两个Python版本可能会形成许多混乱和错误。这时候 conda就能够帮助你为不一样的项目创建不一样的运行环境。
还有不少项目使用的包版本不一样,好比不一样的pandas版本,不可能同时安装两个 Numpy 版本,你要作的应该是,为每一个 Numpy 版本建立一个环境,而后项目的对应环境中工做。这时候conda就能够帮你作到。
2. 如何安装Anaconda?
Anaconda 可用于多个平台( Windows、Mac OS X 和 Linux)。你能够在下面地址上找到安装程序和安装说明。根据你的操做系统是32位仍是64位选择对应的版本下载。
(Anaconda已经不支持Windows XP;同时查看本身电脑是32位仍是64位,不要装错了。)
官网地址:https://www.anaconda.com/download/#windows
Anaconda 的下载文件比较大(约 500 MB),由于它附带了 Python 中最经常使用的数据科学包。
若是计算机上已经安装了 Python,安装不会对你有任何影响。实际上,脚本和程序使用的默认 Python 是 Anaconda 附带的 Python。
注意:若是你是windows 10系统,注意在安装Anaconda软件的时候,右击安装软件→选择以管理员的身份运行。
完成安装后,若是你是在windows上操做,按下面图打开 Anaconda Prompt (或者 Mac 下的终端),后面我会将Anaconda Prompt统一称为“终端”。
<img src="https://pic3.zhimg.com/50/v2-60a3932918cd00b883b9093ffe0f70ba_hd.jpg" data-caption="" data-size="normal" data-rawwidth="248" data-rawheight="335" class="content_image" width="248">注意:若是你是windows 10系统,按下图操做
<img src="https://pic3.zhimg.com/50/v2-9afae7b4240e4168ae0b3cb0aaff3616_hd.jpg" data-caption="" data-size="normal" data-rawwidth="451" data-rawheight="658" class="origin_image zh-lightbox-thumb" width="451" data-original="https://pic3.zhimg.com/v2-9afae7b4240e4168ae0b3cb0aaff3616_r.jpg">若是win10系统没有按上述操做,后面会报下面的错误信息:
<img src="https://pic2.zhimg.com/50/v2-1b0040f40d884a8177c6ff684d37347a_hd.jpg" data-caption="" data-size="normal" data-rawwidth="814" data-rawheight="506" class="origin_image zh-lightbox-thumb" width="814" data-original="https://pic2.zhimg.com/v2-1b0040f40d884a8177c6ff684d37347a_r.jpg">
能够在终端或命令提示符中键入 conda list,以查看你安装的内容。
若是安装后,在Anaconda Prompt中都没法使用Conda命令,解决方法在这里:https://zhuanlan.zhihu.com/p/34337889
为了不后面使用报错,你须要先更新下全部包。在终端输入更新全部包的命令:
conda upgrade --all
执行了几回conda upgrade --all都是上面的状况。
在网上查询,而后执行了conda update conda
再次执行conda upgrade --all就正常了
3. 如何管理包?
安装了 Anaconda 以后,就能够很方便的管理包了(安装,卸载,更新)。
1)安装包
在终端中键入:
conda install package_name
例如,要安装 pandas,在终端中输入:
conda install pandas
你还能够同时安装多个包。相似 conda install pandas numpy 的命令会同时安装全部这些包。还能够经过添加版本号(例如 conda install numpy=1.10)来指定所需的包版本。
2)卸载包
在终端中键入 :
conda remove package_names
上面命令中的package_names是指你要卸载包的名称,例如你想卸载pandas包:conda remove pandas
3)更新包
在终端中键入:
conda update package_name
若是想更新环境中的全部包(这样作经常颇有用),使用:conda update --all。
4)列出已安装的包
#列出已安装的包
conda list
例如我已经成功安装了numpy和pandas这两个经常使用的包。
<img src="https://pic2.zhimg.com/50/v2-dc3296d183fd1f870635ecfea113fb1c_hd.jpg" data-caption="" data-size="normal" data-rawwidth="610" data-rawheight="388" class="origin_image zh-lightbox-thumb" width="610" data-original="https://pic2.zhimg.com/v2-dc3296d183fd1f870635ecfea113fb1c_r.jpg">若是不知道要找的包的确切名称,能够尝试使用 conda search search_term 进行搜索。例如,我知道我想安装numpy,但我不清楚确切的包名称。我能够这样尝试:conda search num。
4.如何管理环境?
conda 能够为你不一样的项目创建不一样的运行环境。
0)安装nb_conda用于notebook自动关联nb_conda的环境。
<img src="https://pic4.zhimg.com/50/v2-cd28aeeaf8e69e8daba4e70009e59a62_hd.jpg" data-caption="" data-size="normal" data-rawwidth="674" data-rawheight="436" class="origin_image zh-lightbox-thumb" width="674" data-original="https://pic4.zhimg.com/v2-cd28aeeaf8e69e8daba4e70009e59a62_r.jpg">1)建立环境
在终端中使用:
conda create -n env_name package_names
上面的命令中,env_name 是设置环境的名称(-n 是指该命令后面的env_name是你要建立环境的名称),package_names 是你要安装在建立环境中的包名称。
例如,要建立环境名称为 py3 的环境并在其中安装 numpy,在终端中输入 conda create -n py3 pandas。
<img src="https://pic3.zhimg.com/50/v2-e0dcd728b90c1f989a452abc1c644101_hd.jpg" data-caption="" data-size="normal" data-rawwidth="674" data-rawheight="227" class="origin_image zh-lightbox-thumb" width="674" data-original="https://pic3.zhimg.com/v2-e0dcd728b90c1f989a452abc1c644101_r.jpg">2)建立环境时,能够指定要安装在环境中的 Python 版本
当你同时使用 Python 2.x 和 Python 3.x 中的代码时这颇有用。要建立具备特定 Python 版本的环境,例如建立环境名称为py3,并安装最新版本的Python3在终端中输入:
conda create -n py3 python=3

或也能够这样建立环境名称为py2,并安装最新版本的Python2:
conda create -n py2 python=2
由于我作的项目不一样,有时候会用到Python2,还有时候会用到Python3。因此我在本身的计算机上建立了这两个环境,并分别取了这样的环境名称:py2,py3。这样我能够根据不一样的项目轻松使用不一样版本的python。
若是你要安装特定版本(例如 Python 3.6),请使用 conda create -n py python=3.6
3)进入环境
在 Windows 上,你可使用 activate my_env进入。在 OSX/Linux 上使用 source activate my_env 进入环境。
进入环境后,你会在终端提示符中看到环境名称,下面图片是我进入py3的环境(这里的py3是我上面建立环境时本身起的名称,你能够起个本身喜欢的名称)。
<img src="https://pic2.zhimg.com/50/v2-f6899ad25feedc55f65b90a2ea4170de_hd.jpg" data-caption="" data-size="normal" data-rawwidth="617" data-rawheight="115" class="origin_image zh-lightbox-thumb" width="617" data-original="https://pic2.zhimg.com/v2-f6899ad25feedc55f65b90a2ea4170de_r.jpg">进入环境后,我能够用conda list 查看环境中默认安装的几个包:
<img src="https://pic3.zhimg.com/50/v2-11cab00b20c13cdc5af9d741854bed67_hd.jpg" data-caption="" data-size="normal" data-rawwidth="523" data-rawheight="301" class="origin_image zh-lightbox-thumb" width="523" data-original="https://pic3.zhimg.com/v2-11cab00b20c13cdc5af9d741854bed67_r.jpg">在环境中安装包的命令与前面同样:conda install package_name。
不过,此次你安装的特定包仅在你进入环境后才可用。
3)离开环境
在 Windows 上,终端中输入:
deactivate
在 OSX/Linux 上 输入:
source deactivate
4)共享环境
共享环境很是有用,它能让其余人安装你的代码中使用的全部包,并确保这些包的版本正确。好比你开发了一个药店数据分析系统,你要提交给项目部署系统的王二狗来部署你的项目,可是王二狗并不知道你当时开发时使用的是哪一个python版本,以及使用了哪些包和包的版本。这怎么办呢?
你能够在你当前的环境中终端中使用 conda env export > environment.yaml 将你当前的环境保存到文件中包保存为YAML文件(包括Pyhton版本和全部包的名称)。
命令的第一部分 conda env export 用于输出环境中的全部包的名称(包括 Python 版本)。
<img src="https://pic4.zhimg.com/50/v2-b136666ef127c5b65075a485ce2b2b41_hd.jpg" data-caption="" data-size="normal" data-rawwidth="611" data-rawheight="113" class="origin_image zh-lightbox-thumb" width="611" data-original="https://pic4.zhimg.com/v2-b136666ef127c5b65075a485ce2b2b41_r.jpg">在“notebook工做文件夹”下(及你在终端中上图的路径)能够看到导出的环境文件:
<img src="https://pic3.zhimg.com/50/v2-9eaa081fbe54c59d35c792dd968a3515_hd.jpg" data-caption="" data-size="normal" data-rawwidth="280" data-rawheight="191" class="content_image" width="280">在 GitHub 上共享代码时,最好一样建立环境文件并将其包括在代码库中。这能让其余人更轻松地安装你的代码的全部依赖项。
导出的环境文件,在其余电脑环境中如何使用呢?
首先在conda中进入你的环境,好比activate py3
而后在使用如下命令更新你的环境:
#其中-f表示你要导出文件在本地的路径,因此/path/to/environment.yml要换成你本地的实际路径
conda env update -f=/path/to/environment.yml
对于不使用 conda 的用户,我一般还会使用 pip freeze > environment.txt 将一个 txt文件导出并包括在其中。
具体见这里:https://pip.pypa.io/en/stable/reference/pip_freeze/
举个例子你可能更容易理解这个使用场景:
首先,我在本身的电脑上在conda中将项目的包导出成environment.txt 文件:
<img src="https://pic1.zhimg.com/50/v2-8fbf8a5edd8d5bf1ba5cca1097098168_hd.jpg" data-caption="" data-size="normal" data-rawwidth="675" data-rawheight="120" class="origin_image zh-lightbox-thumb" width="675" data-original="https://pic1.zhimg.com/v2-8fbf8a5edd8d5bf1ba5cca1097098168_r.jpg">而后我将该文件包含在项目的代码库中,其余项目成员即便在他的电脑上没有安装conda也可使用该文件来安装和我同样的开发环境:
他在本身的电脑上进入python命令环境,而后运行如下命令就能够安装该项目须要的包:
pip install -r /path/requirements.txt
其中/path/requirements.txt是该文件在你电脑上的实际路径。
<img src="https://pic2.zhimg.com/50/v2-9d5f722f0c60393b74730a6f2734cac6_hd.jpg" data-caption="" data-size="normal" data-rawwidth="834" data-rawheight="222" class="origin_image zh-lightbox-thumb" width="834" data-original="https://pic2.zhimg.com/v2-9d5f722f0c60393b74730a6f2734cac6_r.jpg">5)列出环境
我有时候会忘记本身建立的环境名称,这时候用 conda env list 就能够列出你建立的全部环境。
你会看到环境的列表,并且你当前所在环境的旁边会有一个星号。默认的环境(即当你不在选定环境中时使用的环境)名为 root。
<img src="https://pic3.zhimg.com/50/v2-8f7a92b366e5eaf576ad2ee38393dcac_hd.jpg" data-caption="" data-size="normal" data-rawwidth="615" data-rawheight="146" class="origin_image zh-lightbox-thumb" width="615" data-original="https://pic3.zhimg.com/v2-8f7a92b366e5eaf576ad2ee38393dcac_r.jpg">6)删除环境
若是你再也不使用某个环境,可使用 conda env remove -n env_name 删除指定的环境(在这里环境名为 env_name)。
最后从新再强调下,不要被上面的命令吓到。虽然上述命令多,给了谁都记不住的。后面你跟着我在知乎上多作项目,用的多了天然记住了。你只须要跟着上面步骤操做下,并理解了每一步是干什么的就能够了。后面遇到要作的事情,忘记了回头查这个文档就能够了。
conda的官方文档:https://conda.io/docs/user-guide/tasks/index.html
按照上面的步骤你亲自操做一遍后,你已经学会了Anaconda,并安装好你的数据分析Pyhton环境了,接下来你就能够愉快的使用Jupyter notebook来作数据分析了:
jupyter notebook 能够作哪些事情?www.zhihu.com