1. 程式人生 > 其它 >python之Anaconda與Jupyter

python之Anaconda與Jupyter

Anaconda

Anaconda [水蟒] 與Jupyter

初學 Python 者自學 Anaconda 的正確姿勢是什麼?

Anaconda 和 Jupyter(包括Jupyter Notebook和JupyterLab,其中JupyterLab是從Notebook發展而來的)已成為資料分析的標準環境。

簡單來說,Anaconda是包管理器和環境管理器,Jupyter可以將資料分析的程式碼、影象和文件全部組合到一個web文件中。

1.Anaconda是什麼?

2.如何安裝?

3. 如何管理包?

4.Jupyter notebook如何快速上手?

1、Anaconda是什麼?

你可能已經安裝了 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就可以幫你做到。

總結Anaconda的三大特點:

  • 內建python,高度整合python資料科學生態
  • 擁有強大的包管理工具-conda
  • 可用超過600個python資料科學庫

【注:conda和pip都可以管理python庫,但最大的不同在於conda是跨平臺且不限語言的,而且可以獨自建立虛擬環境。

因為conda立足於資料科學生態,不像pip可以安裝幾乎所有的python庫(來自pypl),conda只能安裝anaconda裡支援的資料科學庫(600多個)。】

2. 如何安裝Anaconda?

Anaconda 可用於多個平臺( Windows、Mac OS X 和 Linux)。你可以在下面地址上找到安裝程式和安裝說明。根據你的作業系統是32位還是64位選擇對應的版本下載。

官網地址:

如果計算機上已經安裝了 Python,安裝不會對你有任何影響。實際上,指令碼和程式使用的預設 Python 是 Anaconda 附帶的 Python,所以安裝完Anaconda已經自帶安裝好了Python,不需要你再安裝Python了。

注意:如果你是windows 10系統,注意在安裝Anaconda軟體的時候,右擊安裝軟體→選擇以管理員的身份執行。

3.如何管理包?

安裝了 Anaconda 之後,就可以很方便的管理包了(安裝,解除安裝,更新)。

按下圖點選選單欄,開啟Anaconda Navigator

然後在Anaconda Navigator中按下圖操作

1)列出已安裝的包

2)安裝或者更新包

下圖中第5步,“apply”表示安裝這個包,‘clear’表示刪除已經安裝的包。

如果沒有“apply” 這個按鈕,表示這個包已經安裝過了。

Jupyter notebook

jupyter notebook 可以做哪些事情?

1.Jupyter notebook 是什麼?

在沒有notebook之前,在IT領域工作的我都是這樣工作的:

在普通的 Python shell 或者在IDE(整合開發環境)如Pycharm中寫程式碼,然後在word中寫文件來說明你的專案。

這個過程很反鎖,通常是寫完程式碼,再寫文件的時候我還的重頭回顧一遍程式碼。最蛋疼的地方在於,有些資料分析的中間結果,我還的重新跑程式碼,然後把結果弄到文件裡給客戶看。

有了notebook之後,我的世界突然美好了許多,因為notebook 可以直接在程式碼旁寫出敘述性文件,而不是另外編寫單獨的文件。也就是它可以能將程式碼、文件等這一切集中到一處,讓使用者一目瞭然。

Jupyter notebook() 是一種 Web 應用,能讓使用者將說明文字、數學方程、程式碼和視覺化內容全部組合到一個易於共享的文件中

2.如何啟動 Jupyter notebook?

對於做資料分析這麼有用的神器,不安裝使用下是不是很遺憾?

安裝 Jupyter 的最簡單方法是使用 Anaconda。該發行版附帶了 Jupyter notebook。你能夠在預設環境下使用 notebook。

單擊Launch,啟動notebook後,在瀏覽器中會自動開啟notebook頁面地址:http://localhost:8888

jupyter notebook常見問題解決辦法

3.新手如何快速上手notebook?

1)頂部的3個選項卡

頂部的3個選項卡是:Files(檔案)、Running(執行)和 Cluster(叢集)。

Files(檔案)顯示當前“notebook工作資料夾”中的所有檔案和資料夾。【預設的工作資料夾一般是:C:\Users\xxx使用者】

點選 Running(執行)選項卡會列出所有正在執行的 notebook。可以在該選項卡中管理這些 notebook。

Clusters一般不會用到。因為過去在 Clusters(叢集)中建立多個用於平行計算的核心。現在,這項工作已經由 ipyparallel 接管。

如何修改noteboo工作資料夾?

修改工作資料夾

但是很多時候預設的“notebook工作資料夾”不是一個空的資料夾,不便於我們的資料分析工作,如何修改你的“notebook工作資料夾”呢?

有2個辦法可以解決,選擇下面其中一個適合你的方法就可以:

方法1:windows系統在選單欄裡修改

在下圖3的地方點選滑鼠右鍵,選擇屬性。

將下圖1和2的地方都替換成,你自己的“notebook工作資料夾”(最好是自己新建個空的資料夾,然後路徑修改成這個資料夾的路徑)修改後記得儲存檔案。

例如 我自己電腦上新建的一個空資料夾是c:\houzi,修改後如下:

注意:目標一欄的地址需要用" "括起來。

修改後點選"確定"按鈕,然後再啟動notebook就生效了【直接啟動notebook,不要從anaconda中lanuch】。

方法2:通過配置檔案修改,只適合從命令列啟動notebook

【省略】

2)如何建立一個新的notebook?

像下面圖片中一樣,在右側點選“New”(新建),建立新的 notebook、文字檔案、資料夾或終端。

“Notebooks”下的列表顯示了你已安裝的核心,這裡直接選擇你電腦上預設的環境名即可(名稱可以與下面圖的不一樣)。

在這裡你可以輸入自己人生中的第一行Python程式碼Hello world。然後點選圖中的執行按鈕,會執行你當前所在的程式碼,其實我更喜歡用快捷鍵(鍵盤上同時按住ctrl+enter鍵)來執行程式碼。

notebook 中的大部分工作均在程式碼單元格中完成。這是編寫和執行程式碼的地方。在程式碼單元格中可以執行多種操作,例如編寫程式碼、展示資料分析結果等。在一個單元格中執行的任何程式碼在所有其他單元格中均可用。

當Cell前出現*,表示當前cell程式正在執行,或者它前面的cell正在執行。

3)關閉 notebook檔案

通過在伺服器主頁上選中 notebook 旁邊的複選框,然後點選“Shutdown”(關閉),你就可以關閉各個 notebook。

但是,在這樣做之前,請確保你儲存了工作!否則,在你上次儲存後所做的任何更改都會丟失。同時如果不儲存,你下次執行 notebook 時,你還需要重新執行程式碼。

4)如何上傳notebook檔案?

其他人寫好的notebook檔案發你,你想在自己電腦上執行,怎麼辦?

點選下圖紅框upload(上傳檔案)

5)如何共享你的notebook?

點選File->Download as,你可以選擇多種格式下載你的notebook。一般我都會根據下面的用途來選擇不同的下載格式:

1)如果我想和客戶分享我的資料分析成果,我會選擇將notebook下載為HTML檔案。

2)如果我希望將自己的資料分析成果和程式碼嵌入到專案中,比如為藥店管理系統做個數據分析子模組,我就會選擇Python(.py)模組,這可以將我的程式碼融入專案中,成為子模組,方便和其他開發人員共同完成任務。

3)如果要在部落格或文件中使用 notebook,我就選擇Markdown格式。

4)預設的notebook檔案字尾是.ipynb

6)關閉Jupler notebook伺服器

直接關閉開啟notebook的頁面就可以。再次提醒,這會立即關閉所有執行中的 notebook,因此,請確保你儲存了工作!

關閉notebook伺服器後,下次啟動再開啟notebook,當你繼續在該notebook中寫程式碼時,發現之前的變數無法訪問了。需要你在該notebook的Kernerl選項卡中選擇“Run All”重新編譯下之前的程式碼。

如果你實踐了上面的每一步,恭喜你,已經入門學會了 notebook。

上面的命令也不需要你記住,只有你後面經常使用notebook,自然就熟練了。