1. Anaconda與conda
Anaconda是一個(gè)用于科學(xué)計(jì)算的Python發(fā)行版,支持 Linux, Mac, Windows系統(tǒng),提供了包管理與環(huán)境管理的功能,可以很方便地解決多版本python并存、切換以及各種第三方包安裝問(wèn)題。Anaconda利用工具/命令conda來(lái)進(jìn)行package和environment的管理,并且已經(jīng)包含了Python和相關(guān)的配套工具。
conda可以理解為一個(gè)工具,也是一個(gè)可執(zhí)行命令,其核心功能是包管理與環(huán)境管理。包管理與pip的使用類似,環(huán)境管理則允許用戶方便地安裝不同版本的python并可以快速切換。Anaconda則是一個(gè)打包的集合,里面預(yù)裝好了conda、某個(gè)版本的python、眾多packages、科學(xué)計(jì)算工具等等,所以也稱為Python的一種發(fā)行版。
2. pip與conda
conda是包管理器同時(shí)也是環(huán)境管理器,而pip是python的管理器。conda不僅僅可用于python語(yǔ)言,也可以用于R語(yǔ)言等,而pip只能用于python語(yǔ)言,conda的強(qiáng)大之處在于對(duì)不同項(xiàng)目的環(huán)境管理。
兩個(gè)都可以用于python包的安裝,但兩者并不沖突,在使用過(guò)程中,pip搜索源的包數(shù)量比conda更多,往往會(huì)出現(xiàn)conda找不到的包但可以使用pip安裝,因此,可以使用conda先建立虛擬環(huán)境,在虛擬環(huán)境中使用conda或pip安裝包,從而實(shí)現(xiàn)環(huán)境隔離以及包資源的最大化。
3. python解釋器
當(dāng)我們編寫Python代碼時(shí),我們得到的是一個(gè)包含Python代碼的以.py為擴(kuò)展名的文本文件。要運(yùn)行代碼,就需要Python解釋器去執(zhí)行.py文件。
Python是一門高級(jí)語(yǔ)言,并且很多人在使用,所以針對(duì)Python代碼也就有很多的解釋器去執(zhí)行,由于整個(gè)Python語(yǔ)言從規(guī)范到解釋器都是開(kāi)源的,所以理論上,只要水平夠高,任何人都可以編寫Python解釋器來(lái)執(zhí)行Python代碼(當(dāng)然難度很大),現(xiàn)存在多種Python解釋器。這里介紹最常用的CPython解釋器。
當(dāng)我們從Python官方網(wǎng)站下載并安裝好Python 3后,我們就直接獲得了一個(gè)官方版本的解釋器:CPython。這個(gè)解釋器是用C語(yǔ)言開(kāi)發(fā)的,所以叫CPython。在命令行下運(yùn)行python就是啟動(dòng)CPython解釋器,CPython是使用最廣的Python解釋器。
4. Spyder
Spyder (前身是 Pydee) 是一個(gè)強(qiáng)大的交互式 Python 語(yǔ)言開(kāi)發(fā)環(huán)境,提供高級(jí)的代碼編輯、交互測(cè)試、調(diào)試等特性,支持包括 Windows、Linux 和 OS
X 系統(tǒng)。和其他的Python開(kāi)發(fā)環(huán)境相比,它最大的優(yōu)點(diǎn)就是模仿MATLAB的“工作空間”的功能,可以很方便地觀察和修改數(shù)組的值。
5. Jupyter Notebook
Jupyter Notebook是基于網(wǎng)頁(yè)的用于交互計(jì)算的應(yīng)用程序。其可被應(yīng)用于全過(guò)程計(jì)算:開(kāi)發(fā)、文檔編寫、運(yùn)行代碼和展示結(jié)果。Jupyter Notebook是以網(wǎng)頁(yè)的形式打開(kāi),可以在網(wǎng)頁(yè)頁(yè)面中直接編寫代碼和運(yùn)行代碼,代碼的運(yùn)行結(jié)果也會(huì)直接在代碼塊下顯示。如在編程過(guò)程中需要編寫說(shuō)明文檔,可在同一個(gè)頁(yè)面中直接編寫,便于作及時(shí)的說(shuō)明和解釋。