【Anaconda】conda環境管理和包管理
阿新 • • 發佈:2019-01-27
建立新環境:conda create -n name python=3.6.3
安裝失敗,提示channel不符合。解決:輸入命令: conda update conda ”。然後輸入以下命令:conda create -n py363 python=3.6.3 anaconda ”。成功,隨後可以activate py363。----------------------------------------------
1.安裝
對於Mac、Linux系統,Anaconda安裝好後,實際上就是在主目錄下多了個資料夾(~/anaconda
)而已,Windows會寫入登錄檔。安裝時,安裝程式會把bin目錄加入PATH(Linux/Mac寫入~/.bashrc
# 將anaconda的bin目錄加入PATH,根據版本不同,也可能是~/anaconda3/bin
echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以立即生效
source ~/.bashrc
配置好PATH後,可以通過which conda
或conda --version
命令檢查是否正確。假如安裝的是Python 2.7對應的版本,執行python --version
或python -V
2.Conda的環境管理
Conda的環境管理功能允許我們同時安裝若干不同版本的Python,並能自由切換。對於上述安裝過程,假設我們採用的是Python 2.7對應的安裝包,那麼Python 2.7就是預設的環境(預設名字是root
,注意這個root不是超級管理員的意思)。
假設我們需要安裝Python 3.4,此時,我們需要做的操作如下:
# 建立一個名為python34的環境,指定Python版本是3.4(不用管是3.4.x,conda會為我們自動尋找3.4.x中的最新版本) conda create--name python34 python=3.4 # 安裝好後,使用activate啟用某個環境 activate python34# for Windows source activate python34# for Linux & Mac # 啟用後,會發現terminal輸入的地方多了python34的字樣,實際上,此時系統做的事情就是把預設2.7環境從PATH中去除,再把3.4對應的命令加入PATH # 此時,再次輸入 python --version # 可以得到`Python 3.4.5 :: Anaconda 4.1.1 (64-bit)`,即系統已經切換到了3.4的環境 # 如果想返回預設的python 2.7環境,執行 deactivate python34 # for Windows source deactivate python34 # for Linux & Mac # 複製一個環境 conda create -n pyhon34 --clone python34clone # 刪除一個已有的環境 conda remove --name python34 --all # 為了確定這個環境已經被移除,輸入以下命令 conda info -e
使用者安裝的不同python環境都會被放在目錄~/anaconda/envs
下,可以在命令中執行conda info -e
檢視已安裝的環境,當前被啟用的環境會顯示有一個星號或者括號。
3.Conda的包管理
Conda的包管理就比較好理解了,這部分功能與pip
類似。例如,如果需要安裝scipy:
# 安裝scipy
conda install scipy
# conda會從從遠端搜尋scipy的相關資訊和依賴專案,對於python 3.4,conda會同時安裝numpy和mkl(運算加速的庫)
# 檢視已經安裝的packages
conda list
# 最新版的conda是從site-packages資料夾中搜索已經安裝的包,不依賴於pip,因此可以顯示出通過各種方式安裝的包
conda的一些常用操作如下:
# 檢視當前環境下已安裝的包
conda list
# 檢視某個指定環境的已安裝包
conda list -n python34
# 查詢package資訊
conda search numpy
# 安裝package
conda install -n python34 numpy
# 如果不用-n指定環境名稱,則被安裝在當前活躍環境
# 也可以通過-c指定通過某個channel安裝
# 更新package
conda update -n python34 numpy
# 刪除package
conda remove -n python34 numpy
前面已經提到,conda將conda、python等都視為package,因此,完全可以使用conda來管理conda和python的版本,例如
# 更新conda,保持conda最新
conda update conda
# 更新anaconda
conda update anaconda
# 更新python
conda update python
# 假設當前環境是python 3.4, conda會將python升級為3.4.x系列的當前最新版本
參考:
http://python.jobbole.com/86236/
http://www.jianshu.com/p/d2e15200ee9b