Anaconda入門
Anaconda簡介
Anaconda是一個方便的python包管理和環(huán)境管理軟件冠绢,一般用來配置不同的項目環(huán)境码党。
我們常常會遇到這樣的情況德崭,正在做的項目A和項目B分別基于python2和python3,而第電腦只能安裝一個環(huán)境揖盘,這個時候Anaconda就派上了用場眉厨,它可以創(chuàng)建多個互不干擾的環(huán)境,分別運行不同版本的軟件包兽狭,以達(dá)到兼容的目的蚂会。
Anaconda通過管理工具包形纺、開發(fā)環(huán)境、Python版本,大大簡化了你的工作流程叼架。不僅可以方便地安裝兑牡、更新跨扮、卸載工具包酱固,而且安裝時能自動安裝相應(yīng)的依賴包,同時還能使用不同的虛擬環(huán)境隔離不同要求的項目蒸健。
anaconda的安裝
windows下anaconda安裝
非常簡單座享,前往Anaconda官網(wǎng)即可下載安裝婉商,國內(nèi)用戶可以到清華大學(xué)TUNA鏡像站下載,安裝過程中注意到這一步
path.png
其中第一項指將Anaconda的默認(rèn)環(huán)境設(shè)置添加到系統(tǒng)環(huán)境渣叛,也就是說如果你之前安裝過python并添加到了環(huán)境丈秩,選了這一項之后原來的python會被覆蓋掉,默認(rèn)使用Anaconda的默認(rèn)環(huán)境淳衙。
第二項指設(shè)置Anaconda的默認(rèn)環(huán)境為python3.5.
安裝完成后Anaconda會創(chuàng)建一個叫base的默認(rèn)環(huán)境蘑秽,如果你不切換到其他指定環(huán)境,就會一直在默認(rèn)環(huán)境運行箫攀。
linux ubuntu系統(tǒng)Anaconda安裝
下載Anaconda.sh 如果無法運行的話修改一下權(quán)限
sudo chmod +x 文件名
sudo ./文件名
看完版權(quán)聲明設(shè)置完就好了
安裝完成后如果沒有加入系統(tǒng)環(huán)境windows需要通過Anaconda Prompt運行(anaconda prompt還有一個好處就是可以顯示圖表)肠牲,如果加入系統(tǒng)環(huán)境變量就可以在cmd運行了
pystatus.png
我選擇了加入系統(tǒng)變量,我們可以看到我的python顯示為Anaconda版
anconda使用conda作為包管理工具靴跛,也就是anaconda把一些常用的python包統(tǒng)一管理缀雳,可以方便的安裝、更新和卸載包梢睛。
conda常用命令
conda --version 查看conda版本conda -Vconda --help獲取幫助conda -hconda update --helpconda remove --help
--help 都可以換成-h
Anaconda環(huán)境管理
接下來我們先研究單一環(huán)境下的Anaconda環(huán)境管理肥印。
conda env --help
剛剛系統(tǒng)默認(rèn)創(chuàng)建了名叫base的默認(rèn)環(huán)境,我們可以使用conda命令查看當(dāng)前有多少環(huán)境
conda env list 查看所有環(huán)境
或者
conda info --envs
condaenv.png
我們可以看到只有一個base绝葡,也就是剛剛安裝的時候勾選的帶有python3.5的環(huán)境深碱,還有一些py3的包
如果現(xiàn)在我需要一個python2.7的和tensorflow1.0的環(huán)境該怎么辦呢
輸入
conda create --name your_env_name?
或者?
conda create -n your_env_name
your_env_name 就是你新創(chuàng)建的環(huán)境名,你可以在里面安裝其他包但不會與現(xiàn)有環(huán)境沖突
如果你要在創(chuàng)建環(huán)境時指定包內(nèi)容藏畅, 可以用
conda create -n your_env_name python=3.5
如果你要指定多個包 可以用
conda create -n your_env_name python=3.5 numpy pandas
要指定特殊版本號加上=版本號就行莹痢,默認(rèn)是最新的
對了,安裝前為了保障你查詢到最新包情況墓赴,最好使用
`conda update --all 更新包信息。
例如我現(xiàn)在要創(chuàng)建一個名叫 learningpy的基于py3的環(huán)境
conda update --all
conda create -n learningpy python=3.7
create.png
系統(tǒng)會詢問你是否創(chuàng)建航瞭,輸入y回車后诫硕,系統(tǒng)將列出必要安裝的包
conda有一點好處是,如果你需要安裝一個包刊侯,系統(tǒng)將自動檢查這個包需要的前置包并且安裝章办,比如你要安裝TensorFlow,而TensorFlow會用到很多像前置包像pandas滨彻、matiplot等藕届,如果你在單純的python下沒有安裝pandas等包就直接安裝TensorFlow,那么和有可能無法使用亭饵,而使用conda安裝TensorFlow將會詢問你并自動幫你把缺少的前置包安裝好
創(chuàng)建完新的環(huán)境我們查看環(huán)境列表
conda env list
list.png
只要你的硬盤夠大休偶,你就可以創(chuàng)造很多個不同的環(huán)境
那么現(xiàn)在我們有多個環(huán)境了,如何切換環(huán)境呢辜羊?
windows
activate 環(huán)境名
退出時記得退出命令哦
deactivate
linux和mac用戶的命令不一樣
source source activate 環(huán)境名
source deactivate 環(huán)境名
比如我現(xiàn)在進(jìn)入剛剛創(chuàng)建的learningpy環(huán)境
activate learningpy
python --verion
lpy.png
是不是python已經(jīng)變成了3.7版本踏兜,我現(xiàn)在的環(huán)境已經(jīng)和剛剛的環(huán)境沒有關(guān)系了~~~
一些常用命令
創(chuàng)建一個新環(huán)境想克隆一部分舊的環(huán)境condacreate-nyour_env_name--cloneoldname刪除某個環(huán)境condaremove-nyour_env_name--all導(dǎo)出環(huán)境配置(非常有用词顾,比如你想幫朋友安裝和你一模一樣的環(huán)境,你可以直接導(dǎo)出一個配置文件給他碱妆,就能免除很多人力安裝調(diào)試)condaenvexport>environment.yml將會在當(dāng)前目錄生成一個environment.yml,你把它交給小伙伴或拷到另一臺機(jī)器肉盹,小伙伴只需要對這個文件執(zhí)行命令condaenvcreate-fenvironment.yml就可以生成和你原來一模一樣的環(huán)境啦
anaconda包管理
上文我們提到了創(chuàng)建環(huán)境時的包管理,那么我們創(chuàng)建好環(huán)境后如何進(jìn)行包的安裝疹尾、更新和卸載呢上忍?
當(dāng)然我們?nèi)稳豢梢酝ㄟ^pip安裝更新刪除
這里我們介紹conda
condalist列舉當(dāng)前環(huán)境下的所有包condalist-n packagename 列舉某個特定名稱包conda install packagename 為當(dāng)前環(huán)境安裝某包conda install -n envname packagename 為某環(huán)境安裝某包conda search packagename 搜索某包conda updata packagename 更新當(dāng)前環(huán)境某包conda update -n envname packagename 更新某特定環(huán)境某包conda remove packagename 刪除當(dāng)前環(huán)境某包conda remove -n envname packagename 刪除某環(huán)境環(huán)境某包
conda本身和anaconda、python本身也算包
conda update conda
conda update anaconda
conda update python
conda默認(rèn)源可能速度比較慢
可以添加其他源纳本,常用的有清華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 --setshow_channel_urls yes 在包后面顯示來源
第三條執(zhí)行安裝包時會顯示來自哪個源窍蓝,一目了然
source.png
教育網(wǎng)用戶可以添加ipv6源,速度很快
conda config --add channels https://mirrors6.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors6.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --setshow_channel_urls yes 在包后面顯示來源
anaconda實現(xiàn)原理解析
anaconda在目錄下的envs文件夾保存了環(huán)境配置饮醇,也就是把所有的安裝在這個環(huán)境下的包放在同一個文件夾中
當(dāng)創(chuàng)建一個新環(huán)境時它抱,anaconda將在envs中創(chuàng)建一個新的文件夾,這個文件夾包括了你安裝在這個環(huán)境中的所有包
anaconda通過巧妙的包管理解決的一個大難題朴艰,確實方便了很多观蓄。
下一期會講如何在第三方軟件中使用anaconda的不同環(huán)境配置。
作者:MachinePlay
鏈接:http://www.reibang.com/p/742dc4d8f4c5
來源:簡書
簡書著作權(quán)歸作者所有祠墅,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處侮穿。