一、簡介
Conda是目前為止,最流行的Python軟件包與管理環境。Conda分為?miniconda?與?anaconda兩種。前者從名字上就能猜出是精簡版,后者預裝了很多常用的功能,但比較臃腫。實際工程中,一般都使用?miniconda,按需安裝軟件包,本文的下面篇幅也以?miniconda?為例進行說明。
與pip、virtualenv區別:
1,pip是python下的包管理工具,主要用于從pypi下載所需的python包,但是pip不會自動處理包之間的依賴關系;在使用pip安裝包時,可以修改安裝源為https://pypi.tuna.tsinghua.edu.cn/simple/,可以提升安裝速度。
2,virtualenv是一個環境管理工具,使用virtualenv可以創建一個完全隔離的環境,但virtualenv只能創建基于本機已存在的python版本的虛擬環境;使用virtualenv創建完成環境以后,可以使用pip安裝python包,也可以使用conda安裝python包。
3,conda結合了pip和virtualenv兩者的功能,使用conda可以創建任意python版本的虛擬隔離環境,而且conda還是一個包管理工具,不但可以安裝python包,而且可以安裝其他語言的包,更重要的是conda具有完美的包依賴關系處理能力,可以輕松的安裝所需的包而不用過分的去手動處理各種包之間的依賴關系;在使用conda安裝包時,可以修改安裝源為https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
二、Conda安裝
1,首先利用wget下載安裝腳本文件:
wget?https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
2,利用chmod命令修改sh文件為可執行文件,然后運行安裝腳本:
chmod?755?Miniconda3-latest-Linux-x86_64.sh
bash?./Miniconda3-latest-Linux-x86_64.sh
安裝時,根據提示選擇默認就行。
三、Conda常用命令
1,包管理
與python -m pip list類似,conda可以列出當前環境下的所有包:
conda?list
2,版本與升級
conda有一套特別的機制,用于管理和維護依賴庫之間的關系。在不同版本的conda中,我們可以直接使用的Python與依賴庫的版本都不同,為了確定當前使用的conda版本,可以運行以下命令:
conda?--version
有時,我們想用的某個庫在conda中有問題,或者默認模塊安裝的版本比較舊,可以先嘗試升級解決:
conda?update?conda
3,環境管理
conda環境中的虛擬環境比起原生Python更為強大,可以指定Python的版本,并自動安裝相關的C++依賴庫(Windows下自動下載相關的c++ runtime)。
conda?create?-n?env_demo? #建立虛擬環境
conda?create???python=3.6??-p?/tmp/test??? #Conda就為你生成了一個在/tmp/下叫test的虛擬環境,并且環境里的python版本是3.6
ls?/tmp/test? #可以查看該路徑下內容
4,激活
conda?activate?/tmp/test? #/tmp/test是虛擬環境的路徑,激活后可以用which python確認是否成功。如果成功,當前python應該指向的是/tmp/test/bin/python
5,安裝依賴
激活一個Conda的虛擬環境后,安裝依賴主要用以下命令:
conda?install?xxx
查看配置
conda?config?--show
注意:Conda不僅僅可以用conda install安裝軟件,同時也可以繼續用pip,就和普通Python環境下操作沒太有什么區別
四、Conda環境導出與恢復
conda?env?export?>?env.yml??? #Conda支持直接導出環境命令
conda?env?create?-n?revtest?-f=/tmp/env.yml ? #恢復環境命令