Anaconda入門詳解

Anaconda

Anaconda簡介

Anaconda是一個免費開源的Python和R語言的發行版本,用於計算科學(數據科學、機器學習、大數據處理和預測分析),Anaconda致力於簡化包管理和部署。Anaconda的包使用軟件包管理系統Conda進行管理。超過1200萬人使用Anaconda發行版本,並且Anaconda擁有超過1400個適用於Windows、Linux和MacOS的數據科學軟件包。

Anaconda擁有超過1400個軟件包其中包含Conda和虛擬環境管理,他們都被包含在Anaconda Navigator中,因此無需去了解獨立安裝每個庫。支持 Linux, Mac, Windows系統,提供了包管理與環境管理的功能,可以很方便地解決多版本python並存、切換以及各種第三方包安裝問題。Anaconda利用工具/命令conda來進行package和environment的管理,並且已經包含了Python和相關的配套工具。可以使用已經包含在Anaconda中的命令conda install或者pip install從Anaconda倉庫中安裝開源軟件包。Pip提供了Conda大部分功能,並且大多數情況下兩個可以同時使用。可以使用conda build命令構建自定義包,然後通過上傳到Anaconda Cloud、PyPI或其他倉庫來分享給其他人。

Anaconda2默認包含Python 2.7,Anaconda3默認包含Python 3.7,但是你可以創建虛擬環境來使用任意版本的Python包。

這裡先解釋下conda、anaconda這些概念的差別。conda可以理解為一個工具,也是一個可執行命令,其核心功能是包管理與環境管理。包管理與pip的使用類似,環境管理則允許用戶方便地安裝不同版本的python並可以快速切換。Anaconda則是一個打包的集合,裡面預裝好了conda、某個版本的python、眾多packages、科學計算工具等等,所以也稱為Python的一種發行版。其實還有Miniconda,顧名思義,它只包含最基本的內容——python與conda,以及相關的必須依賴項,對於空間要求嚴格的用戶,Miniconda是一種選擇。

進入下文之前,說明一下conda的設計理念——conda將幾乎所有的工具、第三方包都當做package對待,甚至包括python和conda自身!因此,conda打破了包管理與環境管理的約束,能非常方便地安裝各種版本python、各種package並方便地切換。

Anaconda 特點

  • 豐富的第三方庫

Anaconda 附帶了一大批常用數據科學包,它附帶了 conda、Python 和 150 多個科學包及其依賴項。因此你可以立即開始處理數據。

  • 管理包

Anaconda 是在 conda(一個包管理器和環境管理器)上發展出來的。可以使用 conda 來安裝、更新 、卸載工具包 ,並且它更關注於數據科學相關的工具包。在安裝 anaconda 時就預先集成了像 Numpy、Scipy、 pandas、Scikit-learn 這些在數據分析中常用的包。另外值得一提的是,conda 並不僅僅管理Python的工具包,它也能安裝非python的包。比如在新版的 Anaconda 中就可以安裝R語言的集成開發環境 Rstudio。

  • 虛擬環境管理

在conda中可以建立多個虛擬環境,用於隔離不同項目所需的不同版本的工具包,以防止版本上的衝突。對糾結於 Python 版本的同學們,我們也可以建立 Python2 和 Python3 兩個環境,來分別運行不同版本的 Python 代碼。

Anaconda還包含一些功能強大的工具

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

Anaconda 安裝

  • 下載

官網點擊Download進入下載頁面,選擇對應的平臺和版本下載,我這裡是Anaconda3-2019.03-MacOSX-x86_64.pkg這個版本

  • 安裝

下載完成後雙擊下一步下一步知道安裝完成,安裝完成後自動會把anaconda的執行文件的路徑添加到環境變量中無需手動配置,如何需要手動改變需要自行配置。

Anaconda的使用

<code># 獲取幫助$ conda --help# 安裝完成後驗證conda的版本和python的版本等詳細信息$ conda infoC:\\>conda info     active environment : None       user config file : C:\\Users\\Andy\\.condarc populated config files : C:\\Users\\Andy\\.condarc          conda version : 4.6.12    conda-build version : 3.10.5         python version : 3.6.2.final.0       base environment : D:\\software\\devapps\\anaconda3-5.2.0  (writable)           channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/win-64                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/noarch                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/win-64                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch                          https://repo.anaconda.com/pkgs/main/win-64                          https://repo.anaconda.com/pkgs/main/noarch                          https://repo.anaconda.com/pkgs/free/win-64                          https://repo.anaconda.com/pkgs/free/noarch                          https://repo.anaconda.com/pkgs/r/win-64                          https://repo.anaconda.com/pkgs/r/noarch                          https://repo.anaconda.com/pkgs/msys2/win-64                          https://repo.anaconda.com/pkgs/msys2/noarch          package cache : D:\\software\\devapps\\anaconda3-5.2.0\\pkgs                          C:\\Users\\Andy\\.conda\\pkgs                          C:\\Users\\Andy\\AppData\\Local\\conda\\conda\\pkgs       envs directories : D:\\software\\devapps\\anaconda3-5.2.0\\envs                          C:\\Users\\Andy\\.conda\\envs                          C:\\Users\\Andy\\AppData\\Local\\conda\\conda\\envs               platform : win-64             user-agent : conda/4.6.12 requests/2.21.0 CPython/3.6.2 Windows/10 Windows/10.0.17763          administrator : False             netrc file : None           offline mode : FalseC:\\># 列出我本機的所有環境,第一個是自己創建的,後面的是我自己後續創建的$ conda info -eC:\\Users\\Andy>conda info -e# conda environments:#base                  *  D:\\software\\devapps\\anaconda3-5.2.0python27                 D:\\software\\devapps\\anaconda3-5.2.0\\envs\\python27python36                 D:\\software\\devapps\\anaconda3-5.2.0\\envs\\python36python37                 D:\\software\\devapps\\anaconda3-5.2.0\\envs\\python37C:\\Users\\Andy>/<code>

包管理

一般來說 conda 倉庫的軟件沒有 PyPI 更新快和全。所以推薦 conda 只用來創建虛擬環境,包的安裝管理仍然使用 pip。

<code># 列出當前環境下所有安裝的 conda 包。$ conda list# 列舉一個指定環境下的所有包$ conda list -n env_name# 查詢庫$ conda search scrapys# 安裝庫安裝時可以指定版本例如:(scrapy=1.5.0)$ conda install scrapy# 為指定環境安裝某個包$ conda install --name target_env_name package_name# 更新安裝的庫$ conda update scrapy# 更新指定環境某個包$ conda update -n target_env_name package_name# 更新所有包$ conda update --all# 刪除已經安裝的庫也尅用(conda uninstall)$ conda remove scrapy# 刪除指定環境某個包$ conda remove -n target_env_name package_name# 刪除沒有用的包$ conda clean -p/<code>

虛擬環境管理

<code># 創建環境,後面的python=3.6是指定python的版本$ conda create --name env_name python=3.6# 創建包含某些包的環境(也可以加上版本信息)$ conda create --name env_name python=3.7 numpy scrapy# 激活某個環境$ activate env_name# 關閉某個環境$ conda deactivate# 複製某個環境$ conda create --name new_env_name --clone old_env_name# 刪除某個環境$ conda remove --name env_name --all# 生成需要分享環境的yml文件(需要在虛擬環境中執行)$ conda env export > environment.yml# 別人在自己本地使用yml文件創建虛擬環境$ conda env create -f environment.yml/<code>


分享到:


相關文章: