1 Anaconda介紹
- 概述
Anaconda,中文大蟒蛇,是一個(gè)開源的Anaconda是專注于數(shù)據(jù)分析的Python發(fā)行版本,包含了conda、Python等190多個(gè)科學(xué)包及其依賴項(xiàng)。
Anaconda就是可以便捷獲取包且對(duì)包能夠進(jìn)行管理,包括了python和很多常見的軟件庫(kù)和一個(gè)包管理器conda。常見的科學(xué)計(jì)算類的庫(kù)都包含在里面了,使得安裝比常規(guī)python安裝要容易,同時(shí)對(duì)環(huán)境可以統(tǒng)一管理的發(fā)行版本
-
特點(diǎn)
-
開源
-
安裝過(guò)程簡(jiǎn)單
-
高性能使用Python和R語(yǔ)言
-
免費(fèi)的社區(qū)支持
-
首先我們需要先去了解Anaconda誕生的目的,再去了解Anaconda的使用方法
我們需要從python本身說(shuō)起,從根源尋找問(wèn)題,我們?cè)谑褂胮ython語(yǔ)言編寫程序之前需要下載一個(gè)python解釋器,這才是python的本體,沒(méi)了python解釋器,我們即使寫了無(wú)比正確優(yōu)雅的python腳本也沒(méi)辦法運(yùn)行,那這個(gè)解釋器在哪呢?就在你安裝python的地方
所有的第三方包都放在site-packages文件夾里面
最關(guān)鍵的,一個(gè)python環(huán)境中需要有一個(gè)解釋器,和一個(gè)包集合
解釋器: 解釋器根據(jù)python的版本大概分為2和3。python2和3之間無(wú)法互相兼容,也就是說(shuō)用python2語(yǔ)法寫出來(lái)的腳本不一定能在python3的解釋器中運(yùn)行
包集合: 包集合中包含了自帶的包和第三方包,第三方包我們一般通過(guò)pip或者easy_install來(lái)下載,當(dāng)一個(gè)python環(huán)境中不包含這個(gè)包,那么引用了這個(gè)包的程序不能在該python環(huán)境中運(yùn)行
問(wèn)題所在:python環(huán)境解釋完了,那么接下來(lái)就要說(shuō)明這樣的環(huán)境究竟產(chǎn)生哪些問(wèn)題,因?yàn)閍naconda正式為了解決這些問(wèn)題而誕生的
- 到底該裝 Python2 呢還是 Python3
python2和python3在語(yǔ)法上是不兼容的,那我的機(jī)器上應(yīng)該裝python2還是python3呢,可能一開始選一個(gè)學(xué)習(xí)就好了,但是如果你要開發(fā)的程序必須使用python2而不能使用python3,那這時(shí)候你就不得不再下載一個(gè)python2,那這時(shí)候環(huán)境變量該設(shè)誰(shuí)的目錄呢,如果還是切換環(huán)境變量豈不是很麻煩
雖然目前Python3使用的范圍更廣,但是Python3小版本之前也存在一些差異
- 包管理
如果我在本地只有一個(gè)python環(huán)境那我所有程序用到的各種包都只能放到同一個(gè)環(huán)境中,導(dǎo)致環(huán)境混亂。另外當(dāng)我將寫好的程序放到另一電腦上運(yùn)行時(shí)又會(huì)遇到缺少相關(guān)包,需要自己手動(dòng)一個(gè)個(gè)下載的情況實(shí)在是煩人。要是能每個(gè)程序開發(fā)都選用不同的環(huán)境,而開發(fā)好之后又能將該程序需要的環(huán)境(第三方包)都獨(dú)立打包出來(lái)就好了
- 與virtualenv的對(duì)比
-
anaconda
是一個(gè)包含180+的科學(xué)包及其依賴項(xiàng)的發(fā)行版本??梢詣?chuàng)建一個(gè)獨(dú)立的Python環(huán)境,其包含的科學(xué)包包括:conda, numpy, scipy, ipython notebook等
-
virtualenv
用于創(chuàng)建一個(gè)獨(dú)立的Python環(huán)境的工具,新環(huán)境中需要手動(dòng)安裝需要的第三方包
為什么要安裝Anaconda?
Anaconda對(duì)于python初學(xué)者而言及其友好,相比單獨(dú)安裝python主程序,選擇Anaconda可以幫助省去很多麻煩,Anaconda里添加了許多常用的功能包,如果單獨(dú)安裝python,這些功能包則需要一條一條自行安裝,在Anaconda中則不需要考慮這些,同時(shí)Anaconda還附帶捆綁了兩個(gè)非常好用的交互式代碼編輯器(Spyder、Jupyter notebook)。
這樣說(shuō)會(huì)覺得有點(diǎn)抽象,那我們先用一個(gè)簡(jiǎn)單的例子講解
在python中,我們寫程序的時(shí)候經(jīng)常離不開第三方庫(kù),我們可以稱之為包。包可以理解成一個(gè)工具,我們要通過(guò)這個(gè)工具去實(shí)現(xiàn)我們所需要的功能。怎樣使用這個(gè)工具呢?毫無(wú)疑問(wèn),我們都是import…,import…
但是,import初始只能導(dǎo)入python自帶的庫(kù),第三方庫(kù)需要我們自己通過(guò)cmd去pip install這個(gè),pip install那個(gè)安裝,及其麻煩,因?yàn)楹芏鄮?kù)都是python不自帶的,我們都是要通過(guò)pip額外安裝。
這個(gè)時(shí)候Anaconda的作用就出來(lái)了,Anaconda自帶了很多python庫(kù),不用我們自己去額外安裝,極少數(shù)我們需要安裝的時(shí)候,我們通過(guò)conda install xxx就好了,及其方便!
2 conda介紹
conda是一個(gè)包管理器,環(huán)境管理器。我們可以通過(guò)命令行(Anaconda prompt 或者終端)來(lái)使用它。在Windows中是Anaconda prompt,在Linux和macOS中是終端。conda 是一個(gè)python項(xiàng)目,但是它支持的許多語(yǔ)言,例如: Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN。
為什么要使用conda?
上面說(shuō)到,如果我們不安裝Anaconda的話,我們安裝第三方庫(kù)就必須要用pip install xxx去安裝,當(dāng)我們安裝的庫(kù)多了,就會(huì)形成文件紊亂和繁雜問(wèn)題。而且pip install方法會(huì)默認(rèn)把庫(kù)安裝在同一個(gè)路徑中,假如當(dāng)你去做項(xiàng)目時(shí),別人給你的程序用的庫(kù)是低版本的,而你自己通過(guò)pip安裝的是高版本的庫(kù),由于存在兼容問(wèn)題,你的庫(kù)不能運(yùn)行該程序,而你也不可能為了這個(gè)而刪去你的高版本的庫(kù)去下載這個(gè)符合環(huán)境的低版本庫(kù)吧,所以這及其繁瑣和不方便。
這時(shí)Anaconda的作用就出來(lái)了!?。∷軌騽?chuàng)建一個(gè)虛擬環(huán)境,這個(gè)虛擬環(huán)境和你的主環(huán)境是分開的,就好像宿舍樓一樣,一棟大宿舍樓有很多宿舍房間組成,每個(gè)房間都住著人,但是他們都是獨(dú)立分開的,互不影響。如果你不想住宿,你隨時(shí)可以退宿。也就是說(shuō),如果你創(chuàng)建的虛擬環(huán)境你不想要了,占內(nèi)存了,你隨時(shí)可以移走刪除。
那么怎么通過(guò)Anaconda創(chuàng)建虛擬環(huán)境呢?就是conda方法?。?!
總的來(lái)說(shuō),在Anaconda中conda可以理解為一個(gè)工具,也是一個(gè)可執(zhí)行命令,其核心功能是包管理與環(huán)境管理。所以對(duì)虛擬環(huán)境進(jìn)行創(chuàng)建、刪除等操作需要使用conda命令。
pip與conda比較:
依賴項(xiàng)檢查
-
pip:不一定會(huì)展示所需其他依賴包
安裝包時(shí)或許會(huì)直接忽略依賴項(xiàng)而安裝,僅在結(jié)果中提示錯(cuò)誤
-
conda:列出所需其他依賴包
安裝包時(shí)自動(dòng)安裝其依賴項(xiàng)
可以便捷地在包的不同版本中自由切換
環(huán)境管理
-
pip:維護(hù)多個(gè)環(huán)境難度較大
-
conda:比較方便地在不同環(huán)境之間進(jìn)行切換,環(huán)境管理較為簡(jiǎn)單
對(duì)系統(tǒng)自帶Python的影響
-
pip:在系統(tǒng)自帶Python中包的更新/回退版本/卸載將影響其他程序
-
conda:不會(huì)影響系統(tǒng)自帶Python
適用語(yǔ)言
-
pip:僅適用于Python
-
conda:適用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN
conda結(jié)合了pip和virtualenv的功能
3 安裝Anaconda
我這里準(zhǔn)備好了Windows下的Anaconda3-2021的安裝包,有需要的可以下載獲取
鏈接:https://pan.baidu.com/s/13oW2IRUkJ4Of2gSELOXDRA
提取碼:rwi1
下載好后,打開安裝一直點(diǎn)擊下一步就好,注意安裝目錄,看自己吧。我這里給出了圖片流程。(2020版本安裝例程)
安裝好后,我們可以在任務(wù)欄看到Anaconda3文件夾:
4 Anaconda的使用
配置Anaconda源
這一步非常重要!因?yàn)锳naconda的下載源默認(rèn)在國(guó)外,如果不配置我們國(guó)內(nèi)源的話,下載速度會(huì)慢到你懷疑人生的。而且很多時(shí)候會(huì)導(dǎo)致網(wǎng)絡(luò)錯(cuò)誤而下載失敗。配置方法如下:
打開Anaconda Prompt
,執(zhí)行以下命令,將清華鏡像配置添加到Anaconda中:
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
然后我們輸入conda info
命令查看當(dāng)前的channel
,查看是否配置成功:
conda info
鏡像源添加完成!
5 創(chuàng)建虛擬環(huán)境并使用
5.1 創(chuàng)建虛擬環(huán)境
我們創(chuàng)建一個(gè)虛擬環(huán)境,然后在這個(gè)環(huán)境中配置各種各樣的包,就可以在這個(gè)環(huán)境中運(yùn)行目標(biāo)程序的運(yùn)行。
使用如下命令創(chuàng)建環(huán)境:
conda create -n 環(huán)境名 -y
也可以指定python版本:
conda create -n 環(huán)境名 python=x.x.x -y
python版本我們可以通過(guò)以下命令獲?。?/p>
python --version
我這里事先已經(jīng)創(chuàng)建好了mindvision環(huán)境。
5.2 查看所有環(huán)境
安裝好后,我們查看conda
的所有環(huán)境,輸入以下命令(二選一):
conda info --envs
conda env list
在彈出來(lái)的框中,我們看到mindvision
環(huán)境創(chuàng)建成功。
5.3 激活環(huán)境
創(chuàng)建好環(huán)境后,我們要激活才能使用。執(zhí)行以下命令(三選一):
conda activate 環(huán)境名 # linux或者windows
activate 環(huán)境名# windows
source activate 環(huán)境名 #linux
由此可以看到,我們的環(huán)境從base
變成了mindvision
,這樣我們就從base
宿舍到了mindvision
宿舍啦。
既然有了宿舍,我們就要住人進(jìn)去啊,也就是我們要在mindvision
下載我們所需要的工具包讓我們使用。
5.4 安裝包
執(zhí)行以下命令,我們就可以下載工具包。(選擇其中一種方式即可):
5.4.1 conda方式
# 在當(dāng)前環(huán)境中安裝包
conda install 包名稱
# 指定版本號(hào)
conda install 包名稱=version
# 在指定環(huán)境中安裝包
conda install -n 環(huán)境名 包名稱
5.4.2 pip方式
pip install 包名稱 -i https://pypi.tuna.tsinghua.edu.cn/simple #清華鏡像
pip install 包名稱 -i https://pypi.douban.com/simple #豆瓣鏡像
說(shuō)明:當(dāng)使用conda insatll無(wú)法安裝時(shí),可嘗試使用pip安裝,反之亦然。
注意:
1、pip只是包管理器,無(wú)法對(duì)環(huán)境進(jìn)行管理。因此如果想在指定環(huán)境中使用pip進(jìn)行安裝包,則需要先切換到指定環(huán)境中,再使用pip命令安裝包
2、pip無(wú)法更新python,因?yàn)閜ip并不將python視為包
5.4.3 從Anaconda.org安裝包
說(shuō)明:當(dāng)使用conda install
無(wú)法進(jìn)行安裝時(shí),可以考慮從Anaconda.org中獲取安裝包的命令,并進(jìn)行安裝。
- 瀏覽器中輸入
http://anaconda.org
(無(wú)需注冊(cè))
復(fù)制“To install this package with conda run:”下方的命令,并粘貼在終端中執(zhí)行
我這里下載的是mindspore,執(zhí)行命令conda install mindspore
。因?yàn)槲乙呀?jīng)下載好了,這里我就不演示了。
注:在此環(huán)境安裝的包,退出這個(gè)環(huán)境后是無(wú)法使用的!
5.5 查看該環(huán)境的所有包
然后我們可以查看一下環(huán)境現(xiàn)有的包(二選一):
conda list
pip list
執(zhí)行好后,我們可以看到有非常多的包,同時(shí)我們之前裝的mindspore也出現(xiàn)在這里了。
5.6 測(cè)試是否安裝成功
安裝好mindspore后,我們測(cè)試一下該環(huán)境是否能夠使用,首先我們要處于mindvision環(huán)境中,然后進(jìn)入python環(huán)境,最后import mindspore,發(fā)現(xiàn)沒(méi)有報(bào)錯(cuò),成功導(dǎo)了mindspore包。安裝成功!
6 退出當(dāng)前環(huán)境
使用以下命令,可以退出當(dāng)前環(huán)境
conda deactivate # windows
source deactivate 環(huán)境名 # linux
注意,如果你之前用過(guò)conda activate xxx多次進(jìn)入不同的環(huán)境操作之后,然后使用conda deactivate是返回上一層的環(huán)境。
7 刪除環(huán)境/包
使用以下命令,可以刪除指定環(huán)境(謹(jǐn)慎操作)
conda remove -n 環(huán)境名 --all -y
使用以下命令,可以刪除當(dāng)前環(huán)境的包
conda remove 包名稱
使用以下命令,卸載指定環(huán)境中的包
conda remove -n 環(huán)境名 包名稱
以上的-n均可用–name代替文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-778136.html
除了以上操作,我還列舉了其它常用的操作總結(jié):文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-778136.html
獲取conda版本 | conda --version |
---|---|
更新當(dāng)前conda版本 | conda update conda -y |
更新包版本 | conda update 包名稱 -y |
更新所有包 | conda update --all或conda upgrade --all |
復(fù)制環(huán)境 | conda create -n 新環(huán)境名 --clone 舊環(huán)境名 |
查找可供安裝的包版本 | 精確查找:conda search --精確查找的參數(shù) 被查找包的全名 |
查找可供安裝的包版本 | 模糊查找:conda search 含有此字段名的包名 |
到了這里,關(guān)于還是搞不懂Anaconda是什么?讀這一篇文章就夠了的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!