09.12 「Python滾出新手村攻略」Anaconda應用

初出茅廬剛開始學習Python,是不是在遇到各種狀況了呢?

  • Python2、Python3學哪個,環境又應該裝哪個?
  • 能不能同時學,同時裝,又該怎麼裝呢?
  • 工具包有哪些,管理工具包的工具又有哪些?
  • 為什麼想1個工具包,卻需要一系列的依賴包需要安裝,有沒有一勞永逸的辦法?
「Python滾出新手村攻略」Anaconda應用

其實大多數 Python 的初學者們都曾為環境問題而頭疼不已,所以大家都是這麼折騰過來的。好,現在為了在入門的你時少走彎路,並且讓高漲的積極性不至於太受打擊,這裡推薦使用 Anaconda 來管理你的安裝環境和各種工具包。

本文介紹了Anaconda的使用,全文大綱如下:

  • 為什麼選擇 Anaconda
  • 什麼是 Anaconda
  • 什麼是 conda
  • Anaconda 的優點
  • 如何安裝 Anaconda
  • 如何管理 Python 包
  • 如何管理 Python 環境

一、為什麼選擇Anaconda?

1.1 什麼是 Anaconda?

Anaconda是專注於數據分析的Python發行版本,包含了conda、Python等190多個科學包及其依賴項。作為好奇寶寶的你是不是發現了一個新名詞

conda,那麼你一定會問 conda 又是什麼呢?

1.2 什麼是 conda ?

conda 是開源包(packages)和虛擬環境(environment)的管理系統。

  • packages 管理: 可以使用 conda 來安裝、更新 、卸載工具包 ,並且它更關注於數據科學相關的工具包。在安裝 anaconda 時就預先集成了像 Numpy、Scipy、 pandas、Scikit-learn 這些在數據分析中常用的包。另外值得一提的是,conda 並不僅僅管理Python的工具包,它也能安裝非python的包。比如在新版的 Anaconda 中就可以安裝R語言的集成開發環境 Rstudio。
  • 虛擬環境管理: 在conda中可以建立多個虛擬環境,用於隔離不同項目所需的不同版本的工具包,以防止版本上的衝突。對糾結於 Python 版本的同學們,我們也可以建立 Python2 和 Python3 兩個環境,來分別運行不同版本的 Python 代碼。

知道 是什麼(what) 的同時,我們也需要問一問 為什麼(why)。那麼,為什麼要選擇用Anaconda呢?

1.3 Anaconda 的優點?

Anaconda的優點總結起來就八個字:省時省心、分析利器。

  • 省時省心: Anaconda通過管理工具包、開發環境、Python版本,大大簡化了你的工作流程。不僅可以方便地安裝、更新、卸載工具包,而且安裝時能自動安裝相應的依賴包,同時還能使用不同的虛擬環境隔離不同要求的項目。
  • 分析利器: 在 Anaconda 官網中是這麼宣傳自己的:適用於企業級大數據分析的Python工具。其包含了720多個數據科學相關的開源包,在數據可視化、機器學習、深度學習等多方面都有涉及。不僅可以做數據分析,甚至可以用在大數據和人工智能領域。

解決了 是什麼 以及 為什麼 的問題後,下面讓我們看一下 怎麼做(How)


二、如何安裝Anaconda?

可以從這裡下載 Anaconda 的安裝程序以及查看安裝說明。無論是 Windows、Linux 還是 MAC 的 OSX 系統,都可以找到對應的安裝軟件。如果你的電腦是64位則儘量選64位版本。至於 Python 的版本是 2.7 還是 3.x,這裡推薦你使用 Python3,因為 Python2 終將停止維護。可能目前市面上大多數教程使用的都還是 Python2,這也不用著急,因為在 Anaconda 中可以同時管理兩個 Python 版本的環境。

根據提示進行安裝,完成後你大概會驚訝地發現電腦中多了好多應用,不用擔心,我們一項項來看:

  • Anaconda Navigtor :用於管理工具包和環境的圖形用戶界面,後續涉及的眾多管理命令也可以在 Navigator 中手工實現。
  • Jupyter notebook :基於web的交互式計算環境,可以編輯易於人們閱讀的文檔,用於展示數據分析的過程。
  • qtconsole :一個可執行 IPython 的仿終端圖形界面程序,相比 Python Shell 界面,qtconsole 可以直接顯示代碼生成的圖形,實現多行代碼輸入執行,以及內置許多有用的功能和函數。
  • spyder :一個使用Python語言、跨平臺的、科學運算集成開發環境。

安裝完成後,我們還需要對所有工具包進行升級,以避免可能發生的錯誤。打開你電腦的終端,在命令行中輸入:

conda upgrade --all

在終端詢問是否安裝如下升級版本時,輸入 y。

有的情況下,你可能會遇到找不到 conda 命令的錯誤提示,這很可能是環境路徑設置的問題,需要添加conda環境變量:

export PATH=xxx/anaconda/bin:$PATH

其中xxx替換成anaconda的安裝路徑。

至此,安裝完成,下面讓我們看一下如何用 Anaconda 管理工具包和環境。


三、如何管理Python包?

安裝一個 package:

conda install package_name

這裡 package_name 是需要安裝包的名稱。你也可以同時安裝多個包,比如同時安裝numpy 、scipy 和 pandas,則執行如下命令:

conda install numpy scipy pandas

你也可以指定安裝的版本,比如安裝 1.1 版本的 numpy :

conda install numpy=1.10

移除一個 package:

conda remove package_name

升級 package 版本:

conda update package_name

查看所有的 packages:

conda list

如果你記不清 package 的具體名稱,也可以進行模糊查詢:

conda search search_term


四、如何管理Python環境?

默認的環境是 root,你也可以創建一個新環境:

conda create -n env_name list of packages 

其中 -n 代表 name,env_name 是需要創建的環境名稱,list of packages 則是列出在新環境中需要安裝的工具包。

例如,當我安裝了 Python3 版本的 Anaconda 後,默認的 root 環境自然是 Python3,但是我還需要創建一個 Python 2 的環境來運行舊版本的 Python 代碼,最好還安裝了 pandas 包,於是我們運行以下命令來創建:

conda create -n py2 python=2.7 pandas

細心的你一定會發現,py2 環境中不僅安裝了 pandas,還安裝了 numpy 等一系列 packages,這就是使用 conda 的方便之處,它會自動為你安裝相應的依賴包,而不需要你一個個手動安裝。

進入名為 env_name 的環境:

source activate env_name

退出當前環境:

source deactivate

另外注意,在 Windows 系統中,使用 activate env_name 和 deactivate 來進入和退出某個環境。

刪除名為 env_name 的環境:

conda env remove -n env_name

顯示所有的環境:

conda env list

當分享代碼的時候,同時也需要將運行環境分享給大家,執行如下命令可以將當前環境下的 package 信息存入名為 environment 的 YAML 文件中。

conda env export > environment.yaml

同樣,當執行他人的代碼時,也需要配置相應的環境。這時你可以用對方分享的 YAML 文件來創建一摸一樣的運行環境。

conda env create -f environment.yaml

至此,你已跨入 Anaconda 的大門,後續就可以徜徉在 Python 的海洋中了。


分享到:


相關文章: