Anacond的介紹
Anaconda指的是一個開源的Python發(fā)行版本唤殴,其包含了conda、Python等180多個科學(xué)包及其依賴項到腥。 因為包含了大量的科學(xué)包朵逝,Anaconda 的下載文件比較大(約 531 MB),如果只需要某些包乡范,或者需要節(jié)省帶寬或存儲空間配名,也可以使用Miniconda這個較小的發(fā)行版(僅包含conda和 Python)。
Conda是一個開源的包晋辆、環(huán)境管理器渠脉,可以用于在同一個機(jī)器上安裝不同版本的軟件包及其依賴,并能夠在不同的環(huán)境之間切換
Anaconda包括Conda瓶佳、Python以及一大堆安裝好的工具包芋膘,比如:numpy、pandas等
Miniconda包括Conda霸饲、Python
Anacond下載
下載地址:https://www.anaconda.com/download/
Anaconda 是跨平臺的为朋,有 Windows、macOS厚脉、Linux 版本习寸,我們這里以 Windows 版本為例,點擊那個 Windows 圖標(biāo)器仗。
我這里選擇下載
Python 2.7 version *--Python 2.7 版 *
64-Bit Graphical Installer (564 MB) --64位圖形安裝程序(564 MB)
當(dāng)然融涣,你也可以根據(jù)自己的實際情況童番,選擇 Python 3.6版的精钮,或者 32-Bit 版本的威鹿。
安裝包有 564MB,因為網(wǎng)速的關(guān)系轨香,下載時間可能會比較長忽你,請耐心等待。我這里下載完成 Anaconda2-5.2.0-Windows-x86_64.exe文件了臂容。
安裝 Anaconda
雙擊下載好的 Anaconda2-5.2.0-Windows-x86_64.exe文件科雳,出現(xiàn)如下界面,點擊 Next 即可脓杉。
點擊Next
點擊 I Agree (我同意)糟秘,不同意,當(dāng)然就沒辦法繼續(xù)安裝啦球散。
Install for: Just me還是All Users尿赚,假如你的電腦有好幾個 Users ,才需要考慮這個問題.其實我們電腦一般就一個 User蕉堰,就我們一個人使用凌净,如果你的電腦有多個用戶,選擇All Users屋讶,我這里直接 All User冰寻,繼續(xù)點擊 Next 。
Destination Folder 是“目標(biāo)文件夾”的意思皿渗,可以選擇安裝到什么地方斩芭。默認(rèn)是安裝到 C:\ProgramData\Anaconda2文件夾下。你也可以選擇 Browse...乐疆,選擇想要安裝的文件夾划乖。我這里 C 盤空間充裕,所以我直接就裝到默認(rèn)的地方诀拭。
這里提一下迁筛,Anaconda 很強(qiáng)大,占用空間也不小啊耕挨,2.6GB细卧,差不多是一部高清電影的體積了。不過筒占,為了學(xué)習(xí)贪庙,這點硬盤空間算什么呢。
繼續(xù)點擊 Next> 翰苫。
這里來到 Advanced Options 了止邮,所謂的“高級選項”这橙。如果你英文好,有一定背景知識的話导披,肯定明白這界面上的意思屈扎。兩個默認(rèn)就好,第一個是加入環(huán)境變量撩匕,第二個是默認(rèn)使用 Python 2.7鹰晨,點擊“Install”,終于開始安裝額止毕。
安裝時間根據(jù)你的電腦配置而異模蜡,電腦配置高,硬盤是固態(tài)硬盤扁凛,速度就更快忍疾。安裝過程其實就是把 Anaconda2-5.2.0-Windows-x86_64.exe文件里壓縮的各種 dll 啊,py 文件啊谨朝,全部寫到安裝目標(biāo)文件夾里卤妒。
過程還是很漫長的,畢竟 2.6GB 的無數(shù)個小文件啊叠必,請耐心等待荚孵。
經(jīng)過漫長的等待,終于安裝完成 Installation Complete (安裝完成)了纬朝,點擊最后一個 Next>收叶。
點擊Install Microsoft VSCode
點擊 Finish,那兩個 √ 可以取消共苛。
配置環(huán)境變量
如果是windows的話需要去 控制面板\系統(tǒng)和安全\系統(tǒng)\高級系統(tǒng)設(shè)置\環(huán)境變量\用戶變量\PATH 中添加 anaconda的安裝目錄的Scripts文件夾, 比如我的路徑是C:\ProgramData\Anaconda2\Scripts, 看個人安裝路徑不同需要自己調(diào)整.
之后就可以打開命令行(最好用管理員模式打開) 輸入 conda --version
如果輸出conda 4.5.4之類的就說明環(huán)境變量設(shè)置成功了.
為了避免可能發(fā)生的錯誤, 我們在命令行輸入conda upgrade --all 先把所有工具包進(jìn)行升級
管理虛擬環(huán)境
接下來我們就可以用anaconda來創(chuàng)建我們一個個獨立的python環(huán)境了.接下來的例子都是在命令行操作的,請打開你的命令行吧.
activate
activate 能將我們引入anaconda設(shè)定的虛擬環(huán)境中, 如果你后面什么參數(shù)都不加那么會進(jìn)入anaconda自帶的base環(huán)境,
你可以輸入python試試, 這樣會進(jìn)入base環(huán)境的python解釋器, 如果你把原來環(huán)境中的python環(huán)境去除掉會更能體會到, 這個時候在命令行中使用的已經(jīng)不是你原來的python而是base環(huán)境下的python.而命令行前面也會多一個(base) 說明當(dāng)前我們處于的是base環(huán)境下判没。
創(chuàng)建自己的虛擬環(huán)境
我們當(dāng)然不滿足一個base環(huán)境, 我們應(yīng)該為自己的程序安裝單獨的虛擬環(huán)境.
創(chuàng)建一個名稱為learn的虛擬環(huán)境并指定python版本為3(這里conda會自動找3中最新的版本下載)
conda create -n learn python=2
于是我們就有了一個learn的虛擬環(huán)境, 接下來我們切換到這個環(huán)境, 一樣還是用activae命令 后面加上要切換的環(huán)境名稱
切換環(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 install requests
或者
pip install requests
來安裝requests包.
安裝完成之后我們再輸入python進(jìn)入解釋器并import requests包, 這次一定就是成功的了.
卸載第三方包
那么怎么卸載一個包呢
conda remove requests
或者
pip uninstall requests
就行啦.
查看環(huán)境包信息
要查看當(dāng)前環(huán)境中所有安裝了的包可以用
conda list
導(dǎo)入導(dǎo)出環(huán)境
如果想要導(dǎo)出當(dāng)前環(huán)境的包信息可以用
conda env export > environment.yaml
將包信息存入yaml文件中.
當(dāng)需要重新創(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 // 列出當(dāng)前環(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 // 導(dǎo)出當(dāng)前環(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)境的入口, 點進(jìn)去看看
可以發(fā)現(xiàn)我們之前創(chuàng)建的learn目錄就在下面, 再點進(jìn)去
這不就是一個標(biāo)準(zhǔn)的python環(huán)境目錄嗎?
這么一看, anaconda所謂的創(chuàng)建虛擬環(huán)境其實就是安裝了一個真實的python環(huán)境, 只不過我們可以通過activate,conda等命令去隨意的切換我們當(dāng)前的python環(huán)境, 用不同版本的解釋器和不同的包環(huán)境去運行python腳本.
與****JetBrains PyCharm 2017.2.3 x64****連接
在工作環(huán)境中我們會集成開發(fā)環(huán)境去編碼, 這里推薦JB公司的PyCharm, 而PyCharm也能很方便的和anaconda的虛擬環(huán)境結(jié)合
在Setting => Project => Project Interpreter 里面修改 Project Interpreter , 點擊齒輪標(biāo)志再點擊Add Local為你某個環(huán)境的python.exe解釋器就行了
比如你要在learn環(huán)境中編寫程序, 那么就修改為C:\Users\Administrator\AppData\Local\conda\conda\envs\learn, 可以看到這時候下面的依賴包也變成了learn環(huán)境中的包了.接下來我們就可以在pycharm中愉快的編碼了。
Anaconda 初體驗
按下 Windows 徽標(biāo)鍵隅茎,調(diào)出 Windows 開始菜單澄峰,可以看到 “最近添加”的:Anaconda2(64-bit)
Anaconda Prompt
打開Anaconda Prompt,這個窗口和doc窗口一樣的辟犀,輸入命令就可以控制和配置python俏竞,最常用的是conda命令,這個pip的用法一樣堂竟,此軟件都集成了魂毁,你可以直接用,點開的話如下圖出嘹。用命令“conda list”查看已安裝的包席楚,從這些庫中我們可以發(fā)現(xiàn)NumPy,SciPy,Matplotlib,Pandas,說明已經(jīng)安裝成功了!
還可以使用conda命令進(jìn)行一些包的安裝和更新
conda list:列出所有的已安裝的packages
conda install name:其中name是需要安裝packages的名字税稼,比如烦秩,我安裝numpy包垮斯,輸入上面的命令就是“conda install numpy”。單詞之間空一格只祠,然后回車兜蠕,輸入y就可以了。
安裝完anaconda铆农,就相當(dāng)于安裝了Python牺氨、IPython狡耻、集成開發(fā)環(huán)境Spyder墩剖、一些包等等。你可以在Windows下的cmd下查看:
Anaconda Navigtor
用于管理工具包和環(huán)境的圖形用戶界面夷狰,后續(xù)涉及的眾多管理命令也可以在 Navigator 中手工實現(xiàn)岭皂。
Jupyter notebook
基于web的交互式計算環(huán)境,可以編輯易于人們閱讀的文檔沼头,用于展示數(shù)據(jù)分析的過程爷绘。
Qtconsole
一個可執(zhí)行 IPython 的仿終端圖形界面程序,相比 Python Shell 界面进倍,qtconsole 可以直接顯示代碼生成的圖形土至,實現(xiàn)多行代碼輸入執(zhí)行,以及內(nèi)置許多有用的功能和函數(shù)猾昆。
Spyder
一個使用Python語言陶因、跨平臺的、科學(xué)運算集成開發(fā)環(huán)境垂蜗。
點擊 Anaconda Navigator 楷扬,第一次啟用,會初始化贴见,耐心等待一段時間烘苹,加載完成,界面如圖片部。
Spyder編輯器镣衡,我們以后就可以用這款編輯器來編寫代碼,它最大優(yōu)點就是模仿MATLAB的“工作空間”档悠。spyder.exe放在安裝目錄下的Scripts里面廊鸥,如我的是C:\ProgramData\Anaconda2\Scripts\spyder.exe, 直接雙擊就能運行。我們可以右鍵發(fā)送到桌面快捷方式站粟,以后運行就比較方便了黍图。
我們簡單編寫一個程序來測試一下安裝是否成功,該程序用來打開一張圖片并顯示奴烙。首先準(zhǔn)備一張圖片助被,然后打開spyder剖张,編寫如下代碼:
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
from skimage import io
img = io.imread('C:/Users/Administrator/Desktop/379283176280170726.jpg')
io.imshow(img)
將其中的C:/Users/Administrator/Desktop/379283176280170726.jpg改成你自己要顯示圖片的位置,然后點擊上面工具欄里的綠色三角進(jìn)行運行揩环,最終顯示如下:
jupyterlab
我們點擊 jupyterlab 下面的 Launch 搔弄,會在默認(rèn)瀏覽器(我這里是 Chrome)打開 http://localhost:8888/lab 這樣一個東東,這里就可以輸入 Python 代碼啦丰滑,來一句 Hello World 吧顾犹。
我們可以打開 Anaconda Navigator -> Launch jupyterlab ,也可以直接在瀏覽器輸入 http://localhost:8888/lab (可以保存為書簽)褒墨。如果是布置在云端炫刷,可以輸入服務(wù)器域名(IP),是不是很爽郁妈?
VSCode
Visual Studio Code是一個輕量級但功能強(qiáng)大的源代碼編輯器浑玛,可在桌面上運行,適用于Windows噩咪,macOS和Linux顾彰。它內(nèi)置了對JavaScript,TypeScript和Node.js的支持胃碾,并為其他語言(如C ++涨享,C#,Java仆百,Python厕隧,PHP,Go)和運行時(如.NET和Unity)提供了豐富的擴(kuò)展生態(tài)系統(tǒng)儒旬。
Glueviz
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編寫的侄非,并且建立在其標(biāo)準(zhǔn)科學(xué)庫(即Numpy蕉汪,Matplotlib流译,Scipy)之上。用戶可以輕松地集成他們自己的python代碼進(jìn)行數(shù)據(jù)輸入者疤,清理和分析福澡。
Orange3
交互式數(shù)據(jù)可視化
通過巧妙的數(shù)據(jù)可視化執(zhí)行簡單的數(shù)據(jù)分析。探索統(tǒng)計分布驹马,箱形圖和散點圖革砸,或深入了解決策樹,層次聚類糯累,熱圖算利,MDS和線性投影。即使您的多維數(shù)據(jù)也可以在2D中變得合理寇蚊,特別是在智能屬性排名和選擇方面笔时。
老師和學(xué)生都喜歡它
在教授數(shù)據(jù)挖掘時,我們喜歡說明而不是僅僅解釋仗岸。而橙色很棒。Orange在世界各地的學(xué)校借笙,大學(xué)和專業(yè)培訓(xùn)課程中使用扒怖,支持?jǐn)?shù)據(jù)科學(xué)概念的實踐培訓(xùn)和視覺插圖。甚至還有專門為教學(xué)設(shè)計的小部件业稼。
附加組件擴(kuò)展功能
使用Orange中可用的各種附加組件從外部數(shù)據(jù)源挖掘數(shù)據(jù)盗痒,執(zhí)行自然語言處理和文本挖掘,進(jìn)行網(wǎng)絡(luò)分析低散,推斷頻繁項目集并執(zhí)行關(guān)聯(lián)規(guī)則挖掘俯邓。此外,生物信息學(xué)家和分子生物學(xué)家可以使用Orange通過差異表達(dá)對基因進(jìn)行排序并進(jìn)行富集分析熔号。
Rstudio
R軟件自帶的有寫腳本的工具稽鞭,可是我不是很喜歡用(并不是說不好哈),我更喜歡用RStudio(網(wǎng)上還有Tinn-R引镊,RWinEdt等)朦蕴。因為我覺得其本身比較方便,另外在編程的時候有些功能很方便弟头。下面這個界面是我修改了主題的吩抓,下面我將介紹如何修改主題,來方便編程赴恨。
結(jié)語
現(xiàn)在你是不是發(fā)現(xiàn)用上anaconda就可以十分優(yōu)雅簡單的解決上面所提及的單個python環(huán)境所帶來的弊端了呢, 而且也明白了其實這一切的實現(xiàn)并沒有那么神奇.
當(dāng)然anaconda除了包管理之外還在于其豐富數(shù)據(jù)分析包, 不過那就是另一個內(nèi)容了, 我們先學(xué)會用anaconda去換一種方法管里自己的開發(fā)環(huán)境, 這已經(jīng)是一個很大的進(jìn)步了疹娶。