Skip to content

Latest commit

 

History

History
166 lines (112 loc) · 14.1 KB

67.环境准备.md

File metadata and controls

166 lines (112 loc) · 14.1 KB

環境準備

如果希望快速開始使用 Python 處理資料科學相關的工作,建議大家直接安裝 Anaconda,然後使用 Anaconda 中整合的 Notebook 或 JupyterLab 工具來編寫程式碼。因為對於新手來說,先安裝官方的 Python 直譯器,再逐個安裝工作中會使用到的三方庫檔案會比較麻煩,尤其是在 Windows 環境下,經常會因為構建工具或 DLL 檔案的缺失導致安裝失敗,而一般新手也很難根據錯誤提示資訊採取正確的解決措施,容易產生嚴重的挫敗感。如果計算機上已經有 Python 直譯器環境了,也可以直接使用 Python 的包管理工具 pip 安裝 Jupyter,再根據實際工作的需要安裝三方庫,這種方式適合有一定經驗的使用者。

安裝和使用 Anaconda

對於個人使用者來說,可以從 Anaconda 的官方網站下載它的“個人版(Individual Edition)”安裝程式,安裝完成後,你的計算機上不僅擁有了 Python 環境和 Spyder(類似於PyCharm的整合開發工具),還擁有了與資料科學工作相關的近200個工具包,包括我們上面提到 Python 資料分析三大神器。除此之外,Anaconda 還提供了一個名為 conda 的包管理工具,透過這個工具不僅可以管理 Python 的工具包,還可以用於建立執行 Python 程式的虛擬環境。

如上圖所示,可以透過 Anaconda 官網提供的下載連結選擇適合自己作業系統的安裝程式,建議大家選擇圖形化的安裝程式,下載完成後雙擊安裝程式開始安裝。安裝過程基本使用預設設定即可,完成安裝後,macOS 使用者可以在“應用程式”或“Launchpad”中找到名為“Anaconda-Navigator”的應用程式,執行該程式可以看到如下所示的介面,我們可以在這裡選擇需要執行的操作。

對於 Windows 使用者,建議按照安裝嚮導的提示和推薦的選項來安裝 Anaconda(除了安裝路徑,基本也沒有什麼需要選擇的),安裝完成後可以在“開始選單”中找到“Anaconda3”。

溫馨提示:可以選擇 Miniconda 作為 Anaconda 的替代品,Miniconda 只會安裝 Python 直譯器環境和一些必要的工具,其他的三方庫由使用者自行選擇安裝。其實我個人並不喜歡 Anaconda,因為它是給小白使用者使用的,我們有了 Python 以後完全可以按照自己的意願來安裝需要的三方庫。

conda命令

如果希望使用 conda 工具來管理依賴項或者建立專案的虛擬環境,可以在終端或命令列提示符中使用 conda 命令。Windows 使用者可以在“開始選單”中找到“Anaconda3”,然後點選“Anaconda Prompt”來啟動支援 conda 的命令列提示符。macOS 使用者建議直接使用“Anaconda-Navigator”中的“Environments”,透過視覺化的方式對虛擬環境和依賴項進行管理。

  1. 版本和幫助資訊。

    • 檢視版本:conda -Vconda --version
    • 獲取幫助:conda -hconda --help
    • 相關資訊:conda list
  2. 虛擬環境相關。

    • 顯示所有虛擬環境:conda env list
    • 建立虛擬環境:conda create --name venv
    • 指定 Python 版本建立虛擬環境:conda create --name venv python=3.7
    • 指定 Python 版本建立虛擬環境並安裝指定依賴項:conda create --name venv python=3.7 numpy pandas
    • 透過克隆現有虛擬環境的方式建立虛擬環境:conda create --name venv2 --clone venv
    • 分享虛擬環境並重定向到指定的檔案中:conda env export > environment.yml
    • 透過分享的虛擬環境檔案建立虛擬環境:conda env create -f environment.yml
    • 啟用虛擬環境:conda activate venv
    • 退出虛擬環境:conda deactivate
    • 刪除虛擬環境:conda remove --name venv --all

    說明:上面的命令中,venvvenv2是虛擬環境資料夾的名字,可以將其替換為自己喜歡的名字,但是強烈建議使用英文且不要出現空格或其他特殊字元。

  3. 包(三方庫或工具)管理。

    • 檢視已經安裝的包:conda list
    • 搜尋指定的包:conda search matplotlib
    • 安裝指定的包:conda install matplotlib
    • 更新指定的包:conda update matplotlib
    • 移除指定的包:conda remove matplotlib

    說明:在搜尋、安裝和更新軟體包時,預設會連線到官方網站進行操作,如果覺得速度不給力,可以將預設的官方網站替換為國內的映象網站,推薦使用清華大學的開源映象網站。將預設源更換為國內映象的命令是:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main。如果需要換回預設源,可以使用命令conda config --remove-key channels

使用Notebook

安裝和啟動Notebook

如果已經安裝了 Anaconda,macOS 使用者可以按照上面所說的方式在“Anaconda-Navigator”中直接啟動“Jupyter Notebook”(以下統一簡稱為 Notebook)。Windows 使用者可以在“開始選單”中找到 Anaconda 資料夾,接下來選擇執行資料夾中的“Jupyter Notebook”就可以開始資料科學的探索之旅。

對於安裝了 Python 環境但是沒有安裝 Anaconda 的使用者,可以用 Python 的包管理工具pip來安裝jupyter,然後在終端(Windows 系統為命令列提示符)中執行jupyter notebook命令來啟動 Notebook,如下所示。

安裝 Notebook:

pip install jupyter

安裝三大神器:

pip install numpy pandas matplotlib

執行 Notebook:

jupyter notebook

Notebook 是基於網頁的用於互動計算的應用程式,可以用於程式碼開發、文件撰寫、程式碼執行和結果展示。簡單的說,你可以在網頁中直接編寫程式碼執行程式碼,程式碼的執行結果也會直接在程式碼塊下方進行展示。如在編寫程式碼的過程中需要編寫說明文件,可在同一個頁面中使用 Markdown 格式進行編寫,而且可以直接看到渲染後的效果。此外,Notebook 的設計初衷是提供一個能夠支援多種程式語言的工作環境,目前它能夠支援超過40種程式語言,包括 Python、R、Julia、Scala 等。

首先,我們可以建立一個用於書寫 Python 程式碼的 Notebook,如下圖所示。

接下來,我們就可以編寫程式碼、撰寫文件和執行程式啦,如下圖所示。

Notebook使用技巧

如果使用 Python 做工程化的專案開發,PyCharm 肯定是最好的選擇,它提供了一個整合開發環境應該具有的所有功能,尤其是智慧提示、程式碼補全、自動糾錯這類功能會讓開發人員感到非常舒服。如果使用 Python 做資料科學相關的工作,Notebook 並不比 PyCharm 遜色,在資料和圖表展示方面 Notebook 更加優秀。這個工具的使用非常簡單,大家可以看看 Notebook 選單欄,相信理解起來不會有太多困難,在知乎上有一篇名為《最詳盡使用指南:超快上手Jupyter Notebook》的文章,也可以幫助大家快速認識 Notebook。

說明Jupyter 官網上還有一個名為 JupyterLab 的工具,被稱之為“Next-Generation Notebook”,使用者介面較之 Notebook 更加友好,有興趣的讀者可以使用pip install jupyterlab命令來安裝這個工具,然後透過jupyter lab來啟動它。

下面我為大家介紹一些 Notebook 的使用技巧,希望能夠幫助大家提升工作效率。

  1. 自動補全。在使用 Notebook 編寫程式碼時,按Tab鍵會獲得程式碼提示。

  2. 獲得幫助。在使用 Notebook 時,如果希望瞭解一個物件(如變數、類、函式等)的相關資訊或使用方式,可以在物件後面使用?並執行程式碼, 視窗下方會顯示出對應的資訊,幫助我們瞭解該物件,如下所示。

  3. 搜尋命名。如果只記得一個類或一個函式名字的一部分,可以使用萬用字元*並配合?進行搜尋,如下所示。

  4. 呼叫命令。可以在 Notebook 中使用!後面跟系統命令的方式來執行系統命令。

  5. 魔法指令。Notebook 中有很多非常有趣且有用的魔法指令,例如可以使用%timeit測試語句的執行時間,可以使用%pwd檢視當前工作目錄等。如果想檢視所有的魔法指令,可以使用%lsmagic,如果瞭解魔法指令的用法,可以使用%magic來檢視,如下圖所示。

    常用的魔法指令有:

    魔法指令 功能說明
    %pwd 檢視當前工作目錄
    %ls 列出當前或指定資料夾下的內容
    %cat 檢視指定檔案的內容
    %hist 檢視輸入歷史
    %matplotlib inline 設定在頁面中嵌入matplotlib輸出的統計圖表
    %config Inlinebackend.figure_format='svg' 設定統計圖表使用SVG格式(向量圖)
    %run 執行指定的程式
    %load 載入指定的檔案到單元格中
    %quickref 顯示IPython的快速參考
    %timeit 多次執行程式碼並統計程式碼執行時間
    %prun cProfile.run執行程式碼並顯示分析器的輸出
    %who / %whos 顯示名稱空間中的變數
    %xdel 刪除一個物件並清理所有對它的引用
  6. 快捷鍵。Notebook 中的很多操作可以透過快捷鍵來實現,使用快捷鍵可以提升工作效率。Notebook 的快捷鍵又可以分為命令模式下的快捷鍵和編輯模式下的快捷鍵,所謂編輯模式就是處於輸入程式碼或撰寫文件狀態的模式,在編輯模式下按Esc可以回到命令模式,在命令模式下按Enter可以進入編輯模式。

    命令模式下的快捷鍵:

    快捷鍵 功能說明
    Alt + EnterOption + Enter 運行當前單元格並在下面插入新的單元格
    Shift + Enter 運行當前單元格並選中下方的單元格
    Ctrl + EnterCommand + Enter 運行當前單元格
    j / kShift + j / Shift + k 選中下方/上方單元格、連續選中下方/上方單元格
    a / b 在下方/上方插入新的單元格
    c / x 複製單元格 / 剪下單元格
    v / Shift + v 在下方/上方貼上單元格
    dd / z 刪除單元格 / 恢復刪除的單元格
    l / Shift + l 顯示或隱藏當前/所有單元格行號
    ii / 00 中斷/重啟Notebook核心
    Space / Shift + Space 向下/向上滾動頁面

    編輯模式下的快捷鍵:

    快捷鍵 功能說明
    Shift + Tab 獲得提示資訊
    Ctrl + ]Command + ])/ Ctrl + [Command + [ 增加/減少縮排
    Alt + EnterOption + Enter 運行當前單元格並在下面插入新的單元格
    Shift + Enter 運行當前單元格並選中下方的單元格
    Ctrl + EnterCommand + Enter 運行當前單元格
    Ctrl + Left / RightCommand + Left / Right 游標移到行首/行尾
    Ctrl + Up / DownCommand + Up / Down 游標移動程式碼開頭/結尾處
    Up / Down 游標上移/下移一行或移到上/下一個單元格

    溫馨提示:如果記不住這些快捷鍵也沒有關係,在命令模式下按h鍵可以開啟 Notebook 的幫助系統,馬上就可以看到快捷鍵的設定,而且可以根據實際的需要重新編輯快捷鍵,如下圖所示。