1. 程式人生 > >Python包管理、環境管理 及 Anaconda安裝

Python包管理、環境管理 及 Anaconda安裝

conda

conda是開源包和虛擬環境的管理系統。conda的設計理念:將幾乎所有的工具和第三方包都當作packages對待,甚至包括python和conda自身。

anaconda

anaconda是用於科學計算的Python發行版,可在Windows、MacOS和Linux下使用,包含了conda、Python等190多個科學包及其依賴項。在安裝 anaconda 時就預先集成了像 Numpy、Scipy、 pandas、Scikit-learn 這些在資料分析中常用的包。

miniconda

miniconda 是一個 anaconda 的輕量級替代,預設只包含了 python 和 conda,但是可以通過 pip 和 conda 來安裝所需要的包。

anaconda安裝

anaconda安裝檔案可以在官網下載。官網提供了兩個安裝版本,Python2和Python3,筆者這裡選擇Python3。官網下載速率慢的化,可以在清華映象網站下載。
miniconda安裝包下載網站
anaconda安裝完成後,會裝好以下程式:

  • Anaconda Navigtor:用於管理工具包和環境的圖形使用者介面,後續涉及的眾多管理命令也可以在 Navigator 中手工實現。
  • Jupyter notebook :基於web的互動式計算環境,可以編輯易於人們閱讀的文件,用於展示資料分析的過程。
  • qtconsole :一個可執行 IPython 的仿終端圖形介面程式,相比 Python Shell 介面,qtconsole 可以直接顯示程式碼生成的圖形,實現多行程式碼輸入執行,以及內建許多有用的功能和函式。
  • spyder :一個使用Python的跨平臺整合開發環境。

Python包管理

安裝package,可同時安裝多個packages

conda install package_name

指定安裝版本,比如安裝 1.1 版本的 numpy

conda install numpy=1.10

指定安裝環境

conda list -n env_name

移除一個package

conda remove package_name

升級一個package

conda update package_name

升級所有packages

conda update
--all

檢視所有的 packages:

conda list

模糊查詢:

conda search search_term

指定國內映象:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

執行完上述命令後,會生成~/.condarc(Linux/Mac)或C:UsersUSER_NAME.condarc檔案,記錄著我們對conda的配置,直接手動建立、編輯該檔案是相同的效果。

Python環境管理

建立新環境

conda create -n env_name  list of packages
conda create --name python27 python=2.7

進入名為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

conda將conda、python等都視為package,因此,完全可以使用conda來管理conda和python的版本,例如

conda update conda
conda update anaconda
# 假設當前環境是python 3.4, conda會將python升級為3.4.x系列的當前最新版本
conda update python