世界上最好的 Python 編輯器或 IDE 是什么强重?炫酷的界面绞呈、流暢的體驗(yàn),我們投 PyCharm 一票间景,那么你呢佃声?本文介紹了 PyCharm、Jupyter Notebook 和 Spyder 在內(nèi)的 5 種主流 Python IDE倘要,每一種都各有優(yōu)缺點(diǎn)圾亏。不過(guò)結(jié)合經(jīng)驗(yàn)教訓(xùn),不論是純文本編輯器還是集成開(kāi)發(fā)環(huán)境碗誉,總有一款是你的最?lèi)?ài)召嘶,那么快在文末為你最?lèi)?ài)的 IDE 投上一票吧。
1991 年哮缺,Guido van Rossum 創(chuàng)建了 Python 并發(fā)布了第一個(gè)版本弄跌。這種解釋型高級(jí)編程語(yǔ)言為通用編程而開(kāi)發(fā)。Linux尝苇、MacOS 和 Windows 等操作系統(tǒng)中都有 Python 解釋器铛只。
經(jīng)過(guò)近 30 年的發(fā)展,Python 已成為編程社區(qū)極受歡迎的語(yǔ)言糠溜。使用 IDLE 或 Python Shell 寫(xiě) Python 編碼適用于小型項(xiàng)目淳玩,但無(wú)法應(yīng)對(duì)成熟的機(jī)器學(xué)習(xí)或數(shù)據(jù)科學(xué)項(xiàng)目。
在這種情況下非竿,你需要使用一個(gè) IDE(集成開(kāi)發(fā)環(huán)境)或?qū)S玫拇a編輯器蜕着。由于 Python 是最流行的編程語(yǔ)言之一,IDE 的選擇也非常多。那么問(wèn)題來(lái)了:「究竟什么樣的 IDE 最適合 Python承匣?」
很明顯蓖乘,沒(méi)有哪一個(gè) IDE 或代碼編輯器可以稱得上是「最好」的 Python IDE 或編輯器。這是因?yàn)樗鼈兏饔袃?yōu)劣韧骗。此外嘉抒,從為數(shù)眾多的 IDE 中進(jìn)行挑選實(shí)在太浪費(fèi)時(shí)間。
但不用擔(dān)心袍暴,本文已經(jīng)為你整理好了些侍。為了幫助你做出正確的選擇,本文將介紹幾種最適合 Python 的 IDE政模,專門(mén)用于處理數(shù)據(jù)科學(xué)項(xiàng)目岗宣。
Atom
平臺(tái):Linux/macOS/Windows
官網(wǎng):https://atom.io/
類(lèi)型:通用文本編輯器
Atom 是一種免費(fèi)的開(kāi)源文本及源代碼編輯器,適用于 Java览徒、PHP狈定、Python 等多種編程語(yǔ)言。該文本編輯器支持用 Node.js 寫(xiě)成的插件习蓬。盡管 Atom 適用于多種語(yǔ)言纽什,但它對(duì) Python 情有獨(dú)鐘,其有趣的數(shù)據(jù)科學(xué)特性非常適合 Python躲叼。
Atom 的最大特點(diǎn)之一是支持 SQL查詢芦缰,但你需要安裝 Data Atom 插件才能獲取該特性。它支持 Microsoft SQL Server枫慷、MySQL 及 PostgreSQL让蕾。而且,你還可以可視化 Atom 的結(jié)果或听,無(wú)需打開(kāi)其他任何窗口探孝。
可以幫助 Python數(shù)據(jù)科學(xué)家的另一個(gè) Atom 插件是 Markdown Preview Plus。它可以為編輯誉裆、可視化 Markdown 文件提供支持顿颅,讓你可以預(yù)覽、渲染 LaTeX 公式等足丢。
優(yōu)點(diǎn):
活躍的社區(qū)支持
與 Git 的完美集成
為管理多個(gè)項(xiàng)目提供支持
缺點(diǎn):
在較老的 CPU 上運(yùn)行可能會(huì)出現(xiàn)性能問(wèn)題
可能遇到遷移問(wèn)題
Jupyter Notebook
平臺(tái):Linux/macOS/Windows
官網(wǎng):https://jupyter.org/
類(lèi)型:基于 Web 的 IDE
Jupyter Netbook 起源于 2014 年的 Ipython粱腻,它是一種基于服務(wù)器-客戶端結(jié)構(gòu)的網(wǎng)頁(yè)應(yīng)用。Jupyter Netbook 允許我們通過(guò)「Notebook」創(chuàng)建和操作代碼文件斩跌,并且采用一種即時(shí)運(yùn)行的方法绍些,這是JupyterNotebook 最重要的特性。對(duì)于 Python數(shù)據(jù)科學(xué)家而言耀鸦,Jupyter Notebook 基本上是必需品柬批,因?yàn)樗峁┝俗钪庇^、最精煉的交互式數(shù)據(jù)科學(xué)環(huán)境。
對(duì)于剛?cè)腴T(mén)的數(shù)據(jù)科學(xué)家而言氮帐,Jupyter 是最簡(jiǎn)單也最完美的工具锻霎。我們?cè)趯?xiě)完一個(gè)代碼片段后就能直接運(yùn)行這些局部代碼查看效果,因此它的交互效果是最好的揪漩。此外,Jupyter Notebook 中的單元可以選擇代碼或者文檔吏口,也就是說(shuō)選擇文檔后可以直接按照 MarkDown 的語(yǔ)法寫(xiě)代碼或整個(gè)文件的注釋奄容、心得和背景知識(shí)等。
通過(guò)使用 Matplotlib 和 Seaborn 等可視化工具产徊,我們可以直接在代碼單元下輸出想要的可視化圖信息昂勒。當(dāng)然我們也可以將整個(gè) Notebook 文件導(dǎo)出為 PDF、HTML 或純 Python 代碼文件舟铜,這非常有利于文件在不同平臺(tái)間的傳播戈盈,因此像谷歌的 Colab 等平臺(tái)也都默認(rèn)使用 Notebook 的這種形式。與 Ipython 一樣谆刨,Jupyter Notebook 是一系列項(xiàng)目的總稱塘娶,包括 Notebook、Console 和 Qt console 等痊夭。
優(yōu)點(diǎn):
允許使用 Notebook 直接創(chuàng)建博客或代碼演示
確钡蟀叮可復(fù)現(xiàn)的研究與解釋
在運(yùn)行整體前可以運(yùn)行并修正局部代碼塊
缺點(diǎn):
復(fù)雜的安裝過(guò)程(你也可以直接安裝集成開(kāi)發(fā)環(huán)境 Anoconda~)
PyCharm
平臺(tái):Linux/macOS/Windows
官網(wǎng):https://www.jetbrains.com/pycharm/
類(lèi)型:Python 專用 IDE
PyCharm 是 Python 的專用 IDE,地位類(lèi)似于 Java 的 IDE Eclipse她我。功能齊全的集成開(kāi)發(fā)環(huán)境同時(shí)提供收費(fèi)版和免費(fèi)版虹曙,即專業(yè)版和社區(qū)版。PyCharm 是安裝最快的 IDE番舆,且安裝后的配置也非常簡(jiǎn)單酝碳,因此 PyCharm 基本上是數(shù)據(jù)科學(xué)家和算法工程師的首選 IDE。
對(duì)于喜歡 IPython 或 Anaconda 發(fā)行版的人而言恨狈,PyCharm 同樣可以便捷地集成 Matplotlib 和 NumPy 等工具疏哗,這意味著我們?cè)谔幚頂?shù)據(jù)科學(xué)項(xiàng)目時(shí)可以便捷地使用數(shù)組查看器和交互式圖表等。除此之外拴事,IDE 還擴(kuò)展了對(duì) JavaScript 和 Angular JS 等語(yǔ)言的支持沃斤,這使得它同樣也適合 Web 端的開(kāi)發(fā)。
安裝完成后刃宵,我們可以快速建立一個(gè) Python 項(xiàng)目衡瓶,并選擇解釋器和新的代碼文件∩ぃ可能我們會(huì)用 conda 等工具維護(hù)不同的環(huán)境哮针,例如TensorFlow 或 PyTorch 等,在建立新項(xiàng)目時(shí)只需要選擇這些環(huán)境下的 Python 主程序就相當(dāng)于選擇了新環(huán)境。最后十厢,除了提供直接 debug 和運(yùn)行功能外等太,PyCharm 還提供對(duì)源代碼和項(xiàng)目控制的支持。
優(yōu)點(diǎn):
活躍的社區(qū)支持
支持全面的 Python 開(kāi)發(fā)蛮放,不論是數(shù)據(jù)科學(xué)還是非數(shù)據(jù)科學(xué)項(xiàng)目
新手和老兵都易于使用
快速 Reindexing
運(yùn)行缩抡、編輯、debug Python 代碼都不需要額外的支持
缺點(diǎn):
加載可能比較慢
使用現(xiàn)有項(xiàng)目前可能需要調(diào)整默認(rèn)設(shè)置
如果你在學(xué)習(xí)Python的過(guò)程當(dāng)中有遇見(jiàn)任何問(wèn)題包颁,可以加入我的python交流學(xué)企鵝群:【611+530+101】瞻想,多多交流問(wèn)題,互幫互助娩嚼,群里有不錯(cuò)的學(xué)習(xí)教程和開(kāi)發(fā)工具蘑险。學(xué)習(xí)python有任何問(wèn)題(學(xué)習(xí)方法,學(xué)習(xí)效率岳悟,如何就業(yè))佃迄,可以隨時(shí)來(lái)咨詢我
Redeo
平臺(tái):Linux/macOS/Windows
官網(wǎng):https://rodeo.yhat.com/
類(lèi)型:Python 專用 IDE
Redeo 的 logo 就暗示了這個(gè) IDE 是專門(mén)為數(shù)據(jù)分析而開(kāi)發(fā)的,如果用過(guò) RStudio贵少,你就會(huì)發(fā)現(xiàn) Redeo 與它有很多相似的特征呵俏。對(duì)于那些不了解 RStudio 的人而言,你們只需要知道它是最流行的 R 語(yǔ)言集成開(kāi)發(fā)環(huán)境春瞬。與 RStudio 一樣柴信,Rodeo 的窗口分為四部分,即代碼文本編輯器宽气、控制臺(tái)随常、變量可視化環(huán)境和圖形/庫(kù)/文件的查看窗口。有意思的是萄涯,RStudio 和 Redeo 都與 MATLAB 有很多相似之處绪氛。
Redeo 的最大優(yōu)勢(shì)在于新手和老兵都能方便地使用。由于 Redeo 允許在寫(xiě)代碼的同時(shí)查看變量和可視化等細(xì)節(jié)涝影,它可以稱得上是最好的數(shù)據(jù)科學(xué)IDE 之一枣察。此外,Redeo 還有內(nèi)置的課程及輔助材料燃逻。
優(yōu)點(diǎn):
大量定制化設(shè)計(jì)
實(shí)時(shí)監(jiān)控代碼到底創(chuàng)建了些什么
通過(guò)自動(dòng)補(bǔ)全和語(yǔ)法高亮序目,寫(xiě)代碼會(huì)更快
缺點(diǎn):
有很多 Bug
社區(qū)支持不是很多
內(nèi)存問(wèn)題
Spyder
平臺(tái):Linux/macOS/Windows
官網(wǎng):https://www.github.com/spyder-ide/spyder
類(lèi)型:Python 專用 IDE
Spyder 是 Python 專用的一種開(kāi)源 IDE,其獨(dú)特之處在于專為數(shù)據(jù)科學(xué)工作流程進(jìn)行了優(yōu)化伯襟。它與 Anconda 軟件包管理器捆綁在一起猿涨,后者是 Python 編程語(yǔ)言的標(biāo)準(zhǔn)發(fā)行版。Spyder 擁有所有必需的 IDE 特性姆怪,包括代碼完整性及集成文件瀏覽器叛赚。
Spyder 專為數(shù)據(jù)科學(xué)項(xiàng)目創(chuàng)建澡绩,具備平滑的學(xué)習(xí)曲線,即學(xué)即會(huì)俺附。在線幫助選項(xiàng)允許用戶在并行開(kāi)發(fā)項(xiàng)目的同時(shí)尋找關(guān)于庫(kù)的專門(mén)信息肥卡。而且,這個(gè) Python 專用 IDE 與 RStudio 類(lèi)似事镣。因此步鉴,在從 R 切換到 Python 時(shí)這是一個(gè)恰當(dāng)?shù)倪x擇。
適用于 Python 庫(kù)的 Spyder 集成支持(如 Matplotlib 和 SciPy)進(jìn)一步證明璃哟,Spyder 是為數(shù)據(jù)科學(xué)家量身打造的唠叛。除了可感知的 IPython/Jupyter 集成之外,Spyder 還有一個(gè)獨(dú)特的「variable explorer」特性沮稚,允許使用基于表格的布局展示數(shù)據(jù)。
優(yōu)點(diǎn):
代碼完備性和變量探索
易用性
數(shù)據(jù)科學(xué)項(xiàng)目的理想工具
界面整潔
活躍的社區(qū)支持
缺點(diǎn):
不適用于非數(shù)據(jù)科學(xué)項(xiàng)目
對(duì)于高階 Python 開(kāi)發(fā)者而言太基礎(chǔ)了
如何為 Python 選擇理想的 IDE册舞?
這完全取決于你的需求蕴掏。以下是幾點(diǎn)建議:
如果你剛開(kāi)始使用 Python,找一個(gè)定制化較少调鲸、附加功能也較少的 IDE盛杰。干擾越少,上手越容易藐石。
將這些 IDE 功能與你的期望進(jìn)行對(duì)比即供。
多嘗試幾種 IDE 就會(huì)知道哪一種最適合你的需求。