Anaconda詳細安裝及使用教程(帶圖文)
Anaconda指的是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學包及其依賴項。?因為包含了大量的科學包,Anaconda?的下載文件比較大(約?531 MB),如果只需要某些包,或者需要節(jié)省帶寬或存儲空間,也可以使用Miniconda這個較小的發(fā)行版(僅包含conda和?Python)。
Conda是一個開源的包、環(huán)境管理器,可以用于在同一個機器上安裝不同版本的軟件包及其依賴,并能夠在不同的環(huán)境之間切換
Anaconda包括Conda、Python以及一大堆安裝好的工具包,比如:numpy、pandas等
Miniconda包括Conda、Python
下載地址:https://www.anaconda.com/download/


Anaconda?是跨平臺的,有?Windows、macOS、Linux?版本,我們這里以?Windows?版本為例,點擊那個?Windows?圖標。
我這里選擇下載?
Python 2.7 version *--Python 2.7?版?*
64-Bit Graphical Installer (564 MB) --64位圖形安裝程序(564 MB)
當然,你也可以根據(jù)自己的實際情況,選擇?Python 3.6版的,或者?32-Bit?版本的。
安裝包有?564MB,因為網(wǎng)速的關(guān)系,下載時間可能會比較長,請耐心等待。我這里下載完成?Anaconda2-5.2.0-Windows-x86_64.exe文件了。

雙擊下載好的?Anaconda2-5.2.0-Windows-x86_64.exe文件,出現(xiàn)如下界面,點擊?Next?即可。

點擊Next

點擊?I Agree?(我同意),不同意,當然就沒辦法繼續(xù)安裝啦。

Install for: Just me還是All Users,假如你的電腦有好幾個?Users?,才需要考慮這個問題.其實我們電腦一般就一個?User,就我們一個人使用,如果你的電腦有多個用戶,選擇All Users,我這里直接?All User,繼續(xù)點擊?Next?。

Destination Folder?是“目標文件夾”的意思,可以選擇安裝到什么地方。默認是安裝到?C:\ProgramData\Anaconda2文件夾下。你也可以選擇?Browse...?,選擇想要安裝的文件夾。我這里?C?盤空間充裕,所以我直接就裝到默認的地方。
這里提一下,Anaconda?很強大,占用空間也不小啊,2.6GB,差不多是一部高清電影的體積了。不過,為了學習,這點硬盤空間算什么呢。
繼續(xù)點擊?Next>?。

這里來到?Advanced Options?了,所謂的“高級選項”。如果你英文好,有一定背景知識的話,肯定明白這界面上的意思。兩個默認就好,第一個是加入環(huán)境變量,第二個是默認使用?Python 2.7,點擊“Install”,終于開始安裝額。
安裝時間根據(jù)你的電腦配置而異,電腦配置高,硬盤是固態(tài)硬盤,速度就更快。安裝過程其實就是把?Anaconda2-5.2.0-Windows-x86_64.exe文件里壓縮的各種?dll?啊,py?文件啊,全部寫到安裝目標文件夾里。

過程還是很漫長的,畢竟?2.6GB?的無數(shù)個小文件啊,請耐心等待。


經(jīng)過漫長的等待,終于安裝完成?Installation Complete?(安裝完成)了,點擊最后一個?Next>。

點擊Install Microsoft VSCode

點擊?Finish,那兩個 √ 可以取消。
如果是windows的話需要去?控制面板\系統(tǒng)和安全\系統(tǒng)\高級系統(tǒng)設置\環(huán)境變量\用戶變量\PATH?中添加?anaconda的安裝目錄的Scripts文件夾,?比如我的路徑是C:\ProgramData\Anaconda2\Scripts,?看個人安裝路徑不同需要自己調(diào)整.
之后就可以打開命令行(最好用管理員模式打開)?輸入?conda --version

如果輸出conda 4.5.4之類的就說明環(huán)境變量設置成功了.
為了避免可能發(fā)生的錯誤,?我們在命令行輸入conda upgrade --all?先把所有工具包進行升級
接下來我們就可以用anaconda來創(chuàng)建我們一個個獨立的python環(huán)境了.接下來的例子都是在命令行操作的,請打開你的命令行吧.
activate?能將我們引入anaconda設定的虛擬環(huán)境中,?如果你后面什么參數(shù)都不加那么會進入anaconda自帶的base環(huán)境,
你可以輸入python試試,?這樣會進入base環(huán)境的python解釋器,如果你把原來環(huán)境中的python環(huán)境去除掉會更能體會到,?這個時候在命令行中使用的已經(jīng)不是你原來的python而是base環(huán)境下的python.而命令行前面也會多一個(base)?說明當前我們處于的是base環(huán)境下。

創(chuàng)建自己的虛擬環(huán)境
我們當然不滿足一個base環(huán)境,?我們應該為自己的程序安裝單獨的虛擬環(huán)境.
創(chuàng)建一個名稱為python34的虛擬環(huán)境并指定python版本為3.4(這里conda會自動找3.4中最新的版本下載)
conda? create -n python34? python=3.4
或者conda? create? --name? python34? ?python=3.4

于是我們就有了一個learn的虛擬環(huán)境,?接下來我們切換到這個環(huán)境,?一樣還是用activae命令 后面加上要切換的環(huán)境名稱
activate learn
如果忘記了名稱我們可以先用
conda env list

去查看所有的環(huán)境
現(xiàn)在的learn環(huán)境除了python自帶的一些官方包之外是沒有其他包的,?一個比較干凈的環(huán)境我們可以試試
先輸入python打開python解釋器然后輸入
>>> import?requests
會報錯找不到requests包,?很正常.接下來我們就要演示如何去安裝requests包
exit()
退出python解釋器
conda remove --name test --all
# 創(chuàng)建一個名為python34的環(huán)境,指定Python版本是3.4(不用管是3.4.x,conda會為我們自動尋找3.4.x中的最新版本)
conda?create?--name?python34?python=3.4
# 安裝好后,使用activate激活某個環(huán)境
activate?python34# for Windows
sourceactivate?python34# for Linux & Mac
# 激活后,會發(fā)現(xiàn)terminal輸入的地方多了python34的字樣,實際上,此時系統(tǒng)做的事情就是把默認2.7環(huán)境從PATH中去除,再把3.4對應的命令加入PATH
# 此時,再次輸入
python?--version
# 可以得到`Python 3.4.5 :: Anaconda 4.1.1 (64-bit)`,即系統(tǒng)已經(jīng)切換到了3.4的環(huán)境
# 如果想返回默認的python 2.7環(huán)境,運行
deactivate?python34# for Windows
sourcedeactivate?python34# for Linux & Mac
# 刪除一個已有的環(huán)境
conda?remove?--name?python34?--all
輸入
conda install requests
或者
pip install requests
來安裝requests包.
安裝完成之后我們再輸入python進入解釋器并import requests包,?這次一定就是成功的了.
那么怎么卸載一個包呢
conda remove requests
或者
pip uninstall requests
就行啦.
要查看當前環(huán)境中所有安裝了的包可以用
conda list
如果想要導出當前環(huán)境的包信息可以用
conda env export?> environment.yaml
將包信息存入yaml文件中.
當需要重新創(chuàng)建一個相同的虛擬環(huán)境時可以用
conda env create -f environment.yaml
其實命令很簡單對不對,?我把一些常用的在下面給出來,?相信自己多打兩次就能記住
activate // 切換到base環(huán)境
activate learn // 切換到learn環(huán)境
conda create -n learn python=3 // 創(chuàng)建一個名為learn的環(huán)境并指定python版本為3(的最新版本)
conda env list // 列出conda管理的所有環(huán)境
conda list // 列出當前環(huán)境的所有包
conda install requests 安裝requests包
conda remove requests 卸載requets包
conda remove -n learn --all // 刪除learn環(huán)境及下屬所有包
conda update requests 更新requests包
conda env export > environment.yaml // 導出當前環(huán)境的包信息
conda env create -f environment.yaml // 用配置文件創(chuàng)建新的虛擬環(huán)境
或許你會覺得奇怪為啥anaconda能做這些事,?他的原理到底是什么,?我們來看看anaconda的安裝目錄

這里只截取了一部分,?但是我們和本文章最開頭的python環(huán)境目錄比較一下,?可以發(fā)現(xiàn)其實十分的相似,?其實這里就是base環(huán)境.?里面有著一個基本的python解釋器, lLib里面也有base環(huán)境下的各種包文件.
那我們自己創(chuàng)建的環(huán)境去哪了呢,?我們可以看見一個envs,?這里就是我們自己創(chuàng)建的各種虛擬環(huán)境的入口,?點進去看看

可以發(fā)現(xiàn)我們之前創(chuàng)建的learn目錄就在下面,?再點進去

這不就是一個標準的python環(huán)境目錄嗎?
這么一看, anaconda所謂的創(chuàng)建虛擬環(huán)境其實就是安裝了一個真實的python環(huán)境,?只不過我們可以通過activate,conda等命令去隨意的切換我們當前的python環(huán)境,?用不同版本的解釋器和不同的包環(huán)境去運行python腳本.
在工作環(huán)境中我們會集成開發(fā)環(huán)境去編碼,?這里推薦JB公司的PyCharm,?而PyCharm也能很方便的和anaconda的虛擬環(huán)境結(jié)合
在Setting => Project => Project Interpreter?里面修改?Project Interpreter ,?點擊齒輪標志再點擊Add Local為你某個環(huán)境的python.exe解釋器就行了

比如你要在learn環(huán)境中編寫程序,?那么就修改為C:\Users\Administrator\AppData\Local\conda\conda\envs\learn,?可以看到這時候下面的依賴包也變成了learn環(huán)境中的包了.接下來我們就可以在pycharm中愉快的編碼了。

按下?Windows?徽標鍵,調(diào)出?Windows?開始菜單,可以看到 “最近添加”的:Anaconda2(64-bit)
打開Anaconda Prompt,這個窗口和doc窗口一樣的,輸入命令就可以控制和配置python,最常用的是conda命令,這個pip的用法一樣,此軟件都集成了,你可以直接用,點開的話如下圖。用命令“conda list”查看已安裝的包,從這些庫中我們可以發(fā)現(xiàn)NumPy,SciPy,Matplotlib,Pandas,說明已經(jīng)安裝成功了!

還可以使用conda命令進行一些包的安裝和更新
conda list:列出所有的已安裝的packages
conda install name:其中name是需要安裝packages的名字,比如,我安裝numpy包,輸入上面的命令就是“conda install numpy”。單詞之間空一格,然后回車,輸入y就可以了。
安裝完anaconda,就相當于安裝了Python、IPython、集成開發(fā)環(huán)境Spyder、一些包等等。你可以在Windows下的cmd下查看:


用于管理工具包和環(huán)境的圖形用戶界面,后續(xù)涉及的眾多管理命令也可以在?Navigator?中手工實現(xiàn)。

基于web的交互式計算環(huán)境,可以編輯易于人們閱讀的文檔,用于展示數(shù)據(jù)分析的過程。

一個可執(zhí)行?IPython?的仿終端圖形界面程序,相比?Python Shell?界面,qtconsole?可以直接顯示代碼生成的圖形,實現(xiàn)多行代碼輸入執(zhí)行,以及內(nèi)置許多有用的功能和函數(shù)。

一個使用Python語言、跨平臺的、科學運算集成開發(fā)環(huán)境。
點擊?Anaconda Navigator?,第一次啟用,會初始化,耐心等待一段時間,加載完成,界面如圖。

Spyder編輯器,我們以后就可以用這款編輯器來編寫代碼,它最大優(yōu)點就是模仿MATLAB的“工作空間”。spyder.exe放在安裝目錄下的Scripts里面,如我的是C:\ProgramData\Anaconda2\Scripts\spyder.exe,?直接雙擊就能運行。我們可以右鍵發(fā)送到桌面快捷方式,以后運行就比較方便了。
我們簡單編寫一個程序來測試一下安裝是否成功,該程序用來打開一張圖片并顯示。首先準備一張圖片,然后打開spyder,編寫如下代碼:
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
fromskimageimportio
img = io.imread('C:/Users/Administrator/Desktop/379283176280170726.jpg')
io.imshow(img)
將其中的C:/Users/Administrator/Desktop/379283176280170726.jpg改成你自己要顯示圖片的位置,然后點擊上面工具欄里的綠色三角進行運行,最終顯示如下:

我們點擊?jupyterlab?下面的?Launch?,會在默認瀏覽器(我這里是?Chrome)打開?http://localhost:8888/lab?這樣一個東東,這里就可以輸入?Python?代碼啦,來一句?Hello World?吧。
我們可以打開?Anaconda Navigator -> Launch jupyterlab?,也可以直接在瀏覽器輸入?http://localhost:8888/lab?(可以保存為書簽)。如果是布置在云端,可以輸入服務器域名(IP),是不是很爽?


Visual Studio Code是一個輕量級但功能強大的源代碼編輯器,可在桌面上運行,適用于Windows,macOS和Linux。它內(nèi)置了對JavaScript,TypeScript和Node.js的支持,并為其他語言(如C ++,C#,Java,Python,PHP,Go)和運行時(如.NET和Unity)提供了豐富的擴展生態(tài)系統(tǒng)。

Glue是一個Python庫,用于探索相關(guān)數(shù)據(jù)集內(nèi)部和之間的關(guān)系。其主要特點包括:
鏈接統(tǒng)計圖形。使用Glue,用戶可以創(chuàng)建數(shù)據(jù)的散點圖,直方圖和圖像(2D和3D)。膠水專注于刷牙和鏈接范例,其中任何圖形中的選擇傳播到所有其他圖形。
靈活地跨數(shù)據(jù)鏈接。Glue使用不同數(shù)據(jù)集之間存在的邏輯鏈接來覆蓋不同數(shù)據(jù)的可視化,并跨數(shù)據(jù)集傳播選擇。這些鏈接由用戶指定,并且是任意靈活的。
完整的腳本功能。Glue是用Python編寫的,并且建立在其標準科學庫(即Numpy,Matplotlib,Scipy)之上。用戶可以輕松地集成他們自己的python代碼進行數(shù)據(jù)輸入,清理和分析。

交互式數(shù)據(jù)可視化
通過巧妙的數(shù)據(jù)可視化執(zhí)行簡單的數(shù)據(jù)分析。探索統(tǒng)計分布,箱形圖和散點圖,或深入了解決策樹,層次聚類,熱圖,MDS和線性投影。即使您的多維數(shù)據(jù)也可以在2D中變得合理,特別是在智能屬性排名和選擇方面。

老師和學生都喜歡它
在教授數(shù)據(jù)挖掘時,我們喜歡說明而不是僅僅解釋。而橙色很棒。Orange在世界各地的學校,大學和專業(yè)培訓課程中使用,支持數(shù)據(jù)科學概念的實踐培訓和視覺插圖。甚至還有專門為教學設計的小部件。
附加組件擴展功能
使用Orange中可用的各種附加組件從外部數(shù)據(jù)源挖掘數(shù)據(jù),執(zhí)行自然語言處理和文本挖掘,進行網(wǎng)絡分析,推斷頻繁項目集并執(zhí)行關(guān)聯(lián)規(guī)則挖掘。此外,生物信息學家和分子生物學家可以使用Orange通過差異表達對基因進行排序并進行富集分析。

R軟件自帶的有寫腳本的工具,可是我不是很喜歡用(并不是說不好哈),我更喜歡用RStudio(網(wǎng)上還有Tinn-R,RWinEdt等)。因為我覺得其本身比較方便,另外在編程的時候有些功能很方便。下面這個界面是我修改了主題的,下面我將介紹如何修改主題,來方便編程。

現(xiàn)在你是不是發(fā)現(xiàn)用上anaconda就可以十分優(yōu)雅簡單的解決上面所提及的單個python環(huán)境所帶來的弊端了呢,?而且也明白了其實這一切的實現(xiàn)并沒有那么神奇.
當然anaconda除了包管理之外還在于其豐富數(shù)據(jù)分析包,?不過那就是另一個內(nèi)容了,?我們先學會用anaconda去換一種方法管里自己的開發(fā)環(huán)境,?這已經(jīng)是一個很大的進步了。