事實上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