dwSun帶你選Python的編輯器/IDE

dwSun帶你選Python的編輯器/IDE

Python 是一門簡(jiǎn)單易學(xué),同時(shí)又十分強(qiáng)大的編程語(yǔ)言。特別是隨著人工智能的熱潮,Python作為AI開發(fā)的首選語(yǔ)言,已經(jīng)是技術(shù)人員的必備技能。

在學(xué)習(xí)和開發(fā)的過(guò)程當(dāng)中,一款趁手的編輯器/IDE猶如神兵利器,必能讓使用者效率飛升,事半功倍。

這里列舉一些常用的編輯器/IDE,按照dwSun認(rèn)為的推薦度排序。

IDLE

沒得說(shuō),Python自帶的IDE,裝好Python之后直接就有,也是絕大多數(shù)人首次使用的IDE。

  • 優(yōu)點(diǎn):安裝方便,使用簡(jiǎn)單,基本的功能都有
  • 缺點(diǎn):功能太少,語(yǔ)法高亮不好使,代碼提示很糟糕
  • 注意事項(xiàng):安裝Python的時(shí)候,需要選擇安裝IDLE,如果沒注意,可能就沒有了。

spyder

screenshot.png

第一款推薦的是一個(gè)比較小眾的IDE,但是絕對(duì)值得嘗試,因?yàn)檫@貨對(duì)標(biāo)的是matlab,有matlab使用經(jīng)驗(yàn)的朋友肯定對(duì)matlab的IDE印象深刻。而spyder的界面也跟matlab的極其相似,變量空間,命令行,代碼區(qū),文件區(qū)一應(yīng)俱全,特別是命令區(qū)直接支持ipython,可以跟編輯器里面的代碼直接交互。

  • 優(yōu)點(diǎn):功能強(qiáng)大而全面,對(duì)標(biāo)matlab,圖像繪制,數(shù)據(jù)分析等功能整合較方便。
  • 缺點(diǎn):界面比較復(fù)雜,新手可能會(huì)無(wú)從下手。安裝也比較復(fù)雜。偶爾會(huì)崩潰。
  • 注意事項(xiàng):代碼默認(rèn)位置是一個(gè)臨時(shí)目錄。運(yùn)行代碼的時(shí)候,可以選擇在哪個(gè)kernel運(yùn)行,不選的話默認(rèn)重開一個(gè)。

PyCharm

PyCharm

JetBrains出品的IDE,沒錯(cuò)就是那個(gè)在java開發(fā)領(lǐng)域用IntelliJ IDEA干死了Eclipse的JetBrains。PyCharm支持包括但不限于debug、語(yǔ)法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動(dòng)完成、單元測(cè)試、版本控制。相當(dāng)多的使用者反映PyCharm極其趁手,特別是從Java領(lǐng)域轉(zhuǎn)過(guò)來(lái)的親們。

  • 優(yōu)點(diǎn):功能全面而強(qiáng)大,智能提示功能媲美Java的IDE。
  • 缺點(diǎn):PyCharm自身是用Java寫的,占用資源龐大,機(jī)器不好容易卡頓。適合Web項(xiàng)目等大型項(xiàng)目開發(fā),對(duì)數(shù)據(jù)科學(xué)不是很友好。
  • 注意事項(xiàng):整個(gè)IDE都是遵循Java的哲學(xué),跟Python的套路不太一樣。

JupyterLab

JupyterLab

注意這個(gè)不是Jupyter Notebook,據(jù)官方的說(shuō)法,JupyterLab是Jupyter Notebook的下一代產(chǎn)品,兩者在文件格式等方面是兼容的。dwSun的使用經(jīng)驗(yàn),兩者在處理ipynb上是完全一樣的。但是jupyterlab支持命令行等,而且文件瀏覽也更方便,比起notebook側(cè)重展示和交互,jupyterlab更像一個(gè)功能完整的IDE了。

  • 優(yōu)點(diǎn):全兼容Jupyter Notebook,可以在線使用命令行,文件組織更方便,功能更強(qiáng)大。
  • 缺點(diǎn):即使發(fā)布已經(jīng)有段時(shí)間了,整個(gè)生態(tài)還是不太完整,沒有太多可用的插件,使用上不太方便。
  • 注意事項(xiàng):跟Jupyter Notebook的插件系統(tǒng)完全不兼容,如果你的ipynb格式內(nèi)使用了一些擴(kuò)展插件,那么在JupyterLab上渲染可能有問(wèn)題。

Jupyter Notebook

Jupyter

Jupyter及iPython項(xiàng)目的產(chǎn)物,數(shù)據(jù)科學(xué)首選,著重于展示和交互,號(hào)稱可以運(yùn)行的PPT。

Jupyter系列的IDE不是專門針對(duì)Python語(yǔ)言的,也可以運(yùn)行R等語(yǔ)言。

  • 優(yōu)點(diǎn):數(shù)據(jù)科學(xué)領(lǐng)域的標(biāo)配及事實(shí)標(biāo)準(zhǔn),不會(huì)用就out了。展示功能方便而強(qiáng)大,非常適合數(shù)據(jù)分析展示。強(qiáng)大的插件系統(tǒng)和功能豐富的插件生態(tài)?;赪eb,可以遠(yuǎn)程使用。

  • 缺點(diǎn):代碼碎片化嚴(yán)重,文件管理功能比較弱,不太適合大型項(xiàng)目。默認(rèn)的代碼提示和高亮不太人性化。

  • 注意事項(xiàng):因?yàn)槭腔赪eb的,所以編輯的文件處理的數(shù)據(jù)等全部都是在Jupyter的host機(jī)器上,不是在瀏覽器所在的本地。插件用起來(lái)方便,但是配置比較復(fù)雜,不太適合新手折騰。

Atom

Atom就不用說(shuō)了,github官方出品的編輯器,一幫大牛們合作的產(chǎn)品,值得期待。dwSun自己用的也是Atom。

這里介紹的是python的編輯器/IDE,atom自身的python支持還是比較弱的,所以需要通過(guò)一些插件增強(qiáng)其功能,這里介紹兩個(gè)我自己在用的插件。

  • 優(yōu)點(diǎn):github官方出品,功能豐富,插件生態(tài)龐大。
  • 缺點(diǎn):配置較復(fù)雜,對(duì)新手不是很友好,默認(rèn)安裝之后,只能作為編輯器使用。資源占用有時(shí)候比較高,界面不是很流暢,對(duì)機(jī)器硬件配置要求較高。
  • 注意事項(xiàng):雖然是GUI的程序,但是很多功能都要使用命令或編輯配置文件,對(duì)使用者要求較高。

Hydrogen

[圖片上傳失敗...(image-b54230-1550033560535)]

nteract參考jupyter實(shí)現(xiàn)的一個(gè)功能強(qiáng)大的交互式編輯器,可以直接在編輯器里面運(yùn)行代碼并查看結(jié)果,像jupyter一樣。

  • 優(yōu)點(diǎn):基本具備jupyter的全部功能,同時(shí)可以使用atom的各種插件來(lái)完成代碼提示,高亮等等,魚與熊掌可以兼得。
  • 缺點(diǎn):只能保存為py文件,任何中間運(yùn)行結(jié)果不能保存,也不能解析ipynb文件,只適合臨時(shí)使用,不太適合PPT展示等場(chǎng)景。
  • 注意事項(xiàng):其后臺(tái)使用的是跟Jupyter一樣的iPython接口,也支持遠(yuǎn)程功能,所以遠(yuǎn)程功能編輯的文件,除了當(dāng)前在編輯器里面的文件之外,其他引用的文件,數(shù)據(jù)等也都必須放在遠(yuǎn)程機(jī)器對(duì)應(yīng)的執(zhí)行目錄下面。需要額外配置iPython kernel,參考文檔進(jìn)行配置即可。

ide python

ide python

Atom的另一個(gè)擴(kuò)展,跟facebook出品的Atom-IDE配合使用,是一個(gè)比較完整的IDE。

  • 優(yōu)點(diǎn):完整的python開發(fā)環(huán)境,包括debug功能,可以使用atom其他插件提供的代碼提示高亮等等。
  • 缺點(diǎn):不是很成熟,后臺(tái)使用python language server提供實(shí)時(shí)代碼分析,性能不太好,經(jīng)常卡頓。
  • 注意事項(xiàng):python language server需要額外安裝并配置。

VSCode

vsCode

微軟提供的,基于Atom定制的編輯器,相比與原生Atom,添加了很多方便的功能,性能有了極大的優(yōu)化提升。插件生態(tài)龐大而豐富。

  • 優(yōu)點(diǎn):微軟官方出品,品質(zhì)保證,功能豐富,使用方便。
  • 缺點(diǎn):會(huì)搭配安裝一些其他軟件,微軟一貫風(fēng)格。對(duì)新手不太友好。
  • 注意事項(xiàng):vscode的插件是獨(dú)立的生態(tài),跟atom是不互通的。vscode定位是一個(gè)編輯器,跟vsstudio定位為一個(gè)IDE不同。

Sublime Text

Sublime

出現(xiàn)比較早的一個(gè)萬(wàn)能編輯器,功能強(qiáng)大,插件豐富。

  • 優(yōu)點(diǎn):出現(xiàn)比較早,社區(qū)也比較龐大,有眾多使用者。插件生態(tài)龐大豐富,各種功能一應(yīng)俱全。
  • 缺點(diǎn):由于歷史遺留問(wèn)題,包管理系統(tǒng)不是很完善,插件安裝比較復(fù)雜。對(duì)新手很不友好。
  • 注意事項(xiàng):收費(fèi)的,雖然可以無(wú)限免費(fèi)試用。

Emacs

最強(qiáng)大的編輯器/IDE,不解釋。

  • 優(yōu)點(diǎn):要啥有啥
  • 缺點(diǎn):啥都得自己折騰
  • 注意事項(xiàng):熱愛生活,珍愛生命,遠(yuǎn)離Emacs

與VIM排名不分前后,僅根據(jù)字母順序。

VIM

最強(qiáng)大的編輯器/IDE,不解釋。

  • 優(yōu)點(diǎn):要啥有啥
  • 缺點(diǎn):啥都得自己折騰
  • 注意事項(xiàng):熱愛生活,珍愛生命,遠(yuǎn)離VI

與Emacs排名不分前后,僅根據(jù)字母順序。

總結(jié)

  • 編輯器與IDE的區(qū)別,dwSun認(rèn)為,帶debug功能的為IDE,只有代碼提示,語(yǔ)法高亮之類功能的為編輯器。但是現(xiàn)在很多先進(jìn)的編輯器通過(guò)插件擴(kuò)展,也能實(shí)現(xiàn)debug,本文不加以嚴(yán)格區(qū)分。

  • dwSun從事的更多是數(shù)據(jù)分析,人工智能相關(guān),因此這里給出的編輯器/IDE可能不適合Web開發(fā)人員。

  • 某些IDE我自己也沒用過(guò)或者太復(fù)雜,這里不做推薦,更詳細(xì)的列表請(qǐng)移步這里。

  • python2.x系列正在被社區(qū)安樂(lè)死,dwSun已經(jīng)完全遷移到python3.x系列了,所以不再介紹任何python2.x相關(guān)的東西。

  • 這里介紹的IDE基本都跨Linux/Mac/Win,但是我手里沒有Mac,Win也懶得折騰,所以沒有仔細(xì)驗(yàn)證。

  • 很多軟件建議用anaconda安裝,但是anaconda的安裝包太大了,dwSun建議用miniconda安裝,其安裝包要小很多,但是功能跟anaconda完全一樣,只是初始不帶那么多軟件。

  • 編輯器/IDE不是功能越多越復(fù)雜越好,一開始選擇一個(gè)趁手的用著就可以,隨著經(jīng)驗(yàn)閱歷的提升,可以慢慢探索適合自己的編輯器/IDE,甚至自己開發(fā)一個(gè)。有的時(shí)候,你可能需要根據(jù)場(chǎng)景,配合幾個(gè)不同的編輯器/IDE一起用。

  • 工欲善其事,必先利其器。但工具只是工具,關(guān)注自己要做的事情才是關(guān)鍵。

  • 有些工具的安裝配置等需要比較好的網(wǎng)絡(luò)環(huán)境或者翻墻。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容