conda環境(包)管理

 

本文介紹anaconda的安裝,和使用anaconda對Python進行環境管理。

概述

Anaconda是一個可用於科學計算的Python發行版。這是什麼意思呢?Python是一門編程語言,使用這門語言的時候,在寫代碼這件事情之外,還有很多其他的配套工作,比如運行腳本、下載各種需要用到的庫、管理環境等。Anaconda就把這些功能全都集成好了,省去很多瑣碎的工作。簡單來說,Anaconda幫你管理了在使用Python時用到的包和環境。

讓我們來看一看Anaconda的特長:

  1. Anaconda集成了大部分需要用到的Python包,尤其是數據科學類的包,在數據處理方面,你幾乎可以在安裝後直接進行使用。
  2. 利用自帶的conda,Anaconda能夠對Python包安裝、卸載和更新。Python的一大優勢即是豐富的第三方的包,比如數據處理的numpy、數據分析的pandas、和我們做深度學習用到的keras,都是我們所說的包。安裝和管理這些包是使用Python的日常。Anaconda是一個便利簡潔的包管理器。
  3. 同時,利用conda,Anaconda提供了容易操作的環境管理方式。這裏說的環境是獨立的、互不干擾的開發環境。設想你在項目A中使用了Python2,然而新的項目B要求的是Python3,那麼在同一套環境中同時安裝Python2和Python3,必然會因爲版本的不同引發混亂;另一種情況是,你在不同的項目中使用的包的版本不同,你不可能在同一個地方同時啓用兩個不同版本的包。這個時候,正確的做法是,對不同的項目(通常是對Python或者包的版本要求不同的項目)建立不同的環境,在單一的環境中使用統一的Python版本,和安裝所使用到的包。在這樣相互獨立的環境中工作,能夠做到版本間互不干擾,而環境管理可以通過conda輕鬆做到和維護。

所以,工欲善其事,必先利其器,學習Python,Anaconda是不二之選。

 

安裝Anaconda

Anaconda可以從官網(https://repo.continuum.io/archive/index.html)下載,可以看到Linux、Mac、Windows均支持。

這裏有兩個版本,分別對應Python 2.7和Python 3.6,這裏建議下載Python 3.6版本,因爲一方面,對於深度學習,windows版本下的tensorflow暫時不支持Python2.7;另一方面,Python3正在逐漸替代Python2。本文選用了python3的版本,但其實,版本的選擇在anaconda中並不是一個問題,因爲通過環境管理,我們可以很方便地切換運行時的Python版本,讀者大可以按照自己的使用習慣進行選擇。

如果官網的速度太慢,這裏建議大家使用清華鏡像(https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)下載,找到對應的anaconda版本和操作系統即可。

下載後按提示安裝就可以了。

安裝完Anaconda,就相當於安裝了Python、命令行工具Anadonda Prompt、集成開發環境Spyder、交互式筆記本IPython和Jupyter Notebook。下圖列出了Anaconda的一套工具,你可以在開始菜單裏找到這些應用。

 

使用conda進行環境管理和包管理

conda是anaconda中的環境管理器和包管理器。

對於conda的操作都發生在命令行內,我們可以打開Anaconda Prompt進行操作。

1. 檢查conda

在使用conda前,我們先檢查conda是否已經被安裝,以及當前版本是否是最新。

# 檢查conda是否已經安裝好,此命令會返回你安裝Anaconda軟件的版本
conda --version
>> conda 4.3.40

# 通過以下命令升級conda到最新版本
# 如果有新版本可用,在提示proceed ([y]/n)? 中輸入y進行升級
conda update conda

2. 環境管理

環境管理是Python使用中的一大好習慣,如果你不想在一遍遍重裝Python和系統中折騰循,那麼環境管理是學習Python的過程中非常必要的一環。現在我們用conda進行環境管理。

  • 創建環境
# 創建一個環境名爲py34,指定Python版本是3.4
#(不用管是3.4.x,conda會爲我們自動尋找3.4.x中的最新版本)
conda create --name py34 python=3.4
# 通過創建環境,我們可以使用不同版本的Python
conda create --name py27 python=2.7
  • 激活環境
# 在windows環境下使用activate激活
activate py34

# 在Linux & Mac中使用source activate激活
source activate py34

激活後,會發現terminal輸入的地方多了(py34)的字樣,這表示我們已經進入了py34的環境中。

  • 退出環境
# 在windows環境下使用deactivate
deactivate

# 在Linux & Mac中使用source deactivate
source deactivate
  • 刪除環境

如果你不想要這個名爲py34的環境,可以通過以下命令刪除這個環境。

conda remove -n py34 --all

可以通過以下命令查看已有的環境列表,現在py34已經不在這個列表裏,所以我們知道它已經被刪除了。

conda info -e

3. 包管理

我們使用conda進行第三方包的安裝、卸載和更新。

對於包的下載,我們可以先設置國內鏡像。這是因爲http://Anaconda.org的服務器在國外,所以conda在下載包的時候速度往往很慢。所幸清華TUNA鏡像(https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)有Anaconda倉庫的鏡像,我們將其加入conda的配置,即可解決這個問題。

# 添加Anaconda的TUNA鏡像
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 --set show_channel_urls yes

接下來我們進行包的安裝,請進入指定的環境中(比如上節中的py34),這裏我們以pandas(一個數據處理和分析的包)爲例進行操作。

  • 查看已安裝的包
#使用這條命令來查看在當前環境中,已安裝的包和對應版本
conda list
  • 查找可安裝的包
#我們可以通過search命令檢查pandas這個包是否可以通過conda來安裝
#命令返回了這個包的信息,所以是可以通過conda安裝的
conda search pandas
  • 安裝包
#通過install安裝pandas
#如果pandas已經存在於環境中,會提示已經安裝,否則在提示proceed ([y]/n)? 中輸入y進行安裝
conda install pandas
  • 更新包
#通過update更新pandas
conda update pandas
  • 卸載包
#通過remove卸載pandas
conda remove pandas

以上就是conda對於包的安裝、更新和卸載。值得一提的是,conda將conda、python等都視爲包,因此,完全可以使用conda來管理conda和python的版本,例如

# 更新conda到最新版本,這裏conda被當作一個包處理 
conda update conda 

# 同樣的,也可以更新anaconda到最新版本
conda update anaconda

# 更新python
# 例如我們所啓用的環境是py34,使用的是python3.4,那麼conda會將python升級爲3.4.x系列中的最新版本
conda update python 

本文原文:https://zhuanlan.zhihu.com/p/36398337

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章