還不知道Anaconda是什么?讀這一篇文章就夠了
1 Anaconda介紹
概述
Anaconda,中文大蟒蛇,是一個開源的Anaconda是專注于數(shù)據(jù)分析的Python發(fā)行版本,包含了conda、Python等190多個科學(xué)包及其依賴項。
Anaconda就是可以便捷獲取包且對包能夠進(jìn)行管理,包括了python和很多常見的軟件庫和一個包管理器conda。常見的科學(xué)計算類的庫都包含在里面了,使得安裝比常規(guī)python安裝要容易,同時對環(huán)境可以統(tǒng)一管理的發(fā)行版本
特點(diǎn)
- 開源
- 安裝過程簡單
- 高性能使用Python和R語言
- 免費(fèi)的社區(qū)支持
首先我們需要先去了解Anaconda誕生的目的,再去了解Anaconda的使用方法
我們需要從python本身說起,從根源尋找問題,我們在使用python語言編寫程序之前需要下載一個python解釋器,這才是python的本體,沒了python解釋器,我們即使寫了無比正確優(yōu)雅的python腳本也沒辦法運(yùn)行,那這個解釋器在哪呢?就在你安裝python的地方
所有的第三方包都放在site-packages文件夾里面
最關(guān)鍵的,一個python環(huán)境中需要有一個解釋器,和一個包集合
解釋器: 解釋器根據(jù)python的版本大概分為2和3。python2和3之間無法互相兼容,也就是說用python2語法寫出來的腳本不一定能在python3的解釋器中運(yùn)行
包集合: 包集合中包含了自帶的包和第三方包,第三方包我們一般通過pip或者easy_install來下載,當(dāng)一個python環(huán)境中不包含這個包,那么引用了這個包的程序不能在該python環(huán)境中運(yùn)行
問題所在:python環(huán)境解釋完了,那么接下來就要說明這樣的環(huán)境究竟產(chǎn)生哪些問題,因為anaconda正式為了解決這些問題而誕生的
- 到底該裝 Python2 呢還是 Python3
python2和python3在語法上是不兼容的,那我的機(jī)器上應(yīng)該裝python2還是python3呢,可能一開始選一個學(xué)習(xí)就好了,但是如果你要開發(fā)的程序必須使用python2而不能使用python3,那這時候你就不得不再下載一個python2,那這時候環(huán)境變量該設(shè)誰的目錄呢,如果還是切換環(huán)境變量豈不是很麻煩
雖然目前Python3使用的范圍更廣,但是Python3小版本之前也存在一些差異
- 包管理
如果我在本地只有一個python環(huán)境那我所有程序用到的各種包都只能放到同一個環(huán)境中,導(dǎo)致環(huán)境混亂。另外當(dāng)我將寫好的程序放到另一電腦上運(yùn)行時又會遇到缺少相關(guān)包,需要自己手動一個個下載的情況實在是煩人。要是能每個程序開發(fā)都選用不同的環(huán)境,而開發(fā)好之后又能將該程序需要的環(huán)境(第三方包)都獨(dú)立打包出來就好了
- 與virtualenv的對比
anaconda
是一個包含180+的科學(xué)包及其依賴項的發(fā)行版本??梢詣?chuàng)建一個獨(dú)立的Python環(huán)境,其包含的科學(xué)包包括:conda, numpy, scipy, ipython notebook等
virtualenv
用于創(chuàng)建一個獨(dú)立的Python環(huán)境的工具,新環(huán)境中需要手動安裝需要的第三方包
為什么要安裝Anaconda?
Anaconda對于python初學(xué)者而言及其友好,相比單獨(dú)安裝python主程序,選擇Anaconda可以幫助省去很多麻煩,Anaconda里添加了許多常用的功能包,如果單獨(dú)安裝python,這些功能包則需要一條一條自行安裝,在Anaconda中則不需要考慮這些,同時Anaconda還附帶捆綁了兩個非常好用的交互式代碼編輯器(Spyder、Jupyter notebook)。
這樣說會覺得有點(diǎn)抽象,那我們先用一個簡單的例子講解
在python中,我們寫程序的時候經(jīng)常離不開第三方庫,我們可以稱之為包。包可以理解成一個工具,我們要通過這個工具去實現(xiàn)我們所需要的功能。怎樣使用這個工具呢?毫無疑問,我們都是import…,import…
但是,import初始只能導(dǎo)入python自帶的庫,第三方庫需要我們自己通過cmd去pip install這個,pip install那個安裝,及其麻煩,因為很多庫都是python不自帶的,我們都是要通過pip額外安裝。
這個時候Anaconda的作用就出來了,Anaconda自帶了很多python庫,不用我們自己去額外安裝,極少數(shù)我們需要安裝的時候,我們通過conda install xxx就好了,及其方便!
2 conda介紹
conda是一個包管理器,環(huán)境管理器。我們可以通過命令行(Anaconda prompt 或者終端)來使用它。在Windows中是Anaconda prompt,在Linux和macOS中是終端。conda 是一個python項目,但是它支持的許多語言,例如: Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN。
為什么要使用conda?
上面說到,如果我們不安裝Anaconda的話,我們安裝第三方庫就必須要用pip install xxx去安裝,當(dāng)我們安裝的庫多了,就會形成文件紊亂和繁雜問題。而且pip install方法會默認(rèn)把庫安裝在同一個路徑中,假如當(dāng)你去做項目時,別人給你的程序用的庫是低版本的,而你自己通過pip安裝的是高版本的庫,由于存在兼容問題,你的庫不能運(yùn)行該程序,而你也不可能為了這個而刪去你的高版本的庫去下載這個符合環(huán)境的低版本庫吧,所以這及其繁瑣和不方便。
這時Anaconda的作用就出來了?。?!它能夠創(chuàng)建一個虛擬環(huán)境,這個虛擬環(huán)境和你的主環(huán)境是分開的,就好像宿舍樓一樣,一棟大宿舍樓有很多宿舍房間組成,每個房間都住著人,但是他們都是獨(dú)立分開的,互不影響。如果你不想住宿,你隨時可以退宿。也就是說,如果你創(chuàng)建的虛擬環(huán)境你不想要了,占內(nèi)存了,你隨時可以移走刪除。
那么怎么通過Anaconda創(chuàng)建虛擬環(huán)境呢?就是conda方法?。?!
總的來說,在Anaconda中conda可以理解為一個工具,也是一個可執(zhí)行命令,其核心功能是包管理與環(huán)境管理。所以對虛擬環(huán)境進(jìn)行創(chuàng)建、刪除等操作需要使用conda命令。
pip與conda比較:
依賴項檢查
- pip:不一定會展示所需其他依賴包
安裝包時或許會直接忽略依賴項而安裝,僅在結(jié)果中提示錯誤
- conda:列出所需其他依賴包
安裝包時自動安裝其依賴項
可以便捷地在包的不同版本中自由切換
環(huán)境管理
pip:維護(hù)多個環(huán)境難度較大
conda:比較方便地在不同環(huán)境之間進(jìn)行切換,環(huán)境管理較為簡單
對系統(tǒng)自帶Python的影響
pip:在系統(tǒng)自帶Python中包的更新/回退版本/卸載將影響其他程序
conda:不會影響系統(tǒng)自帶Python
適用語言
pip:僅適用于Python
conda:適用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN
conda結(jié)合了pip和virtualenv的功能
3 安裝Anaconda
我這里準(zhǔn)備好了Windows下的Anaconda3-2021的安裝包,有需要的可以下載獲取
http://www.dbjr.com.cn/softs/684715.html
下載好后,打開安裝一直點(diǎn)擊下一步就好,注意安裝目錄,看自己吧。我這里給出了圖片流程。(2020版本安裝例程)
安裝好后,我們可以在任務(wù)欄看到Anaconda3文件夾:
4 Anaconda的使用
配置Anaconda源
這一步非常重要!因為Anaconda的下載源默認(rèn)在國外,如果不配置我們國內(nèi)源的話,下載速度會慢到你懷疑人生的。而且很多時候會導(dǎo)致網(wǎng)絡(luò)錯誤而下載失敗。配置方法如下:
打開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)建一個虛擬環(huán)境,然后在這個環(huán)境中配置各種各樣的包,就可以在這個環(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版本我們可以通過以下命令獲?。?/p>
python --version
我這里事先已經(jīng)創(chuàng)建好了mindvision環(huán)境。
5.2 查看所有環(huán)境
安裝好后,我們查看conda
的所有環(huán)境,輸入以下命令(二選一):
conda info --envs
conda env list
在彈出來的框中,我們看到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 包名稱
# 指定版本號 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 #豆瓣鏡像
說明:當(dāng)使用conda insatll無法安裝時,可嘗試使用pip安裝,反之亦然。
注意:
1、pip只是包管理器,無法對環(huán)境進(jìn)行管理。因此如果想在指定環(huán)境中使用pip進(jìn)行安裝包,則需要先切換到指定環(huán)境中,再使用pip命令安裝包
2、pip無法更新python,因為pip并不將python視為包
5.4.3 從Anaconda.org安裝包
說明:當(dāng)使用conda install
無法進(jìn)行安裝時,可以考慮從Anaconda.org中獲取安裝包的命令,并進(jìn)行安裝。
瀏覽器中輸入http://anaconda.org
(無需注冊)
復(fù)制“To install this package with conda run:”下方的命令,并粘貼在終端中執(zhí)行
我這里下載的是mindspore,執(zhí)行命令conda install mindspore
。因為我已經(jīng)下載好了,這里我就不演示了。
注:在此環(huán)境安裝的包,退出這個環(huán)境后是無法使用的!
5.5 查看該環(huán)境的所有包
然后我們可以查看一下環(huán)境現(xiàn)有的包(二選一):
conda list
pip list
執(zhí)行好后,我們可以看到有非常多的包,同時我們之前裝的mindspore也出現(xiàn)在這里了。
5.6 測試是否安裝成功
安裝好mindspore后,我們測試一下該環(huán)境是否能夠使用,首先我們要處于mindvision環(huán)境中,然后進(jìn)入python環(huán)境,最后import mindspore,發(fā)現(xiàn)沒有報錯,成功導(dǎo)了mindspore包。安裝成功!
6 退出當(dāng)前環(huán)境
使用以下命令,可以退出當(dāng)前環(huán)境
conda deactivate # windows
source deactivate 環(huán)境名 # linux
注意,如果你之前用過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代替
除了以上操作,我還列舉了其它常用的操作總結(jié):
獲取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 含有此字段名的包名 |
總結(jié)
到此這篇關(guān)于Anaconda的文章就介紹到這了,更多相關(guān)Anaconda使用介紹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python機(jī)器學(xué)習(xí)之決策樹和隨機(jī)森林
本文主要介紹了機(jī)器學(xué)習(xí)之決策樹和隨機(jī)森林,詳細(xì)的介紹了實現(xiàn) 原理機(jī)器實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07python 裝飾器帶參數(shù)和不帶參數(shù)步驟詳解
裝飾器是Python語言中一種特殊的語法,用于在不修改原函數(shù)代碼的情況下,為函數(shù)添加額外的功能或修改函數(shù)的行為,這篇文章主要介紹了python裝飾器帶參數(shù)和不帶參數(shù)的相關(guān)知識,需要的朋友可以參考下2024-05-05Django 在iframe里跳轉(zhuǎn)頂層url的例子
今天小編就為大家分享一篇Django 在iframe里跳轉(zhuǎn)頂層url的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08python 機(jī)器學(xué)習(xí)之支持向量機(jī)非線性回歸SVR模型
這篇文章主要介紹了python 機(jī)器學(xué)習(xí)之支持向量機(jī)非線性回歸SVR模型,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06對tensorflow 的模型保存和調(diào)用實例講解
今天小編就為大家分享一篇對tensorflow 的模型保存和調(diào)用實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07