1. 程式人生 > >dwSun帶你選Python的編輯器/IDE

dwSun帶你選Python的編輯器/IDE

eclipse 性能 不用 版本 交互 acs nsh 臨時 但是

dwSun帶你選Python的編輯器/IDE

Python 是一門簡單易學,同時又十分強大的編程語言。特別是隨著人工智能的熱潮,Python作為AI開發的首選語言,已經是技術人員的必備技能。

在學習和開發的過程當中,一款趁手的編輯器/IDE猶如神兵利器,必能讓使用者效率飛升,事半功倍。

這裏列舉一些常用的編輯器/IDE,按照dwSun認為的推薦度排序。

IDLE

沒得說,Python自帶的IDE,裝好Python之後直接就有,也是絕大多數人首次使用的IDE。

  • 優點:安裝方便,使用簡單,基本的功能都有
  • 缺點:功能太少,語法高亮不好使,代碼提示很糟糕
  • 註意事項:安裝Python的時候,需要選擇安裝IDLE,如果沒註意,可能就沒有了。

spyder

技術分享圖片

第一款推薦的是一個比較小眾的IDE,但是絕對值得嘗試,因為這貨對標的是matlab,有matlab使用經驗的朋友肯定對matlab的IDE印象深刻。而spyder的界面也跟matlab的極其相似,變量空間,命令行,代碼區,文件區一應俱全,特別是命令區直接支持ipython,可以跟編輯器裏面的代碼直接交互。

  • 優點:功能強大而全面,對標matlab,圖像繪制,數據分析等功能整合較方便。
  • 缺點:界面比較復雜,新手可能會無從下手。安裝也比較復雜。偶爾會崩潰。
  • 註意事項:代碼默認位置是一個臨時目錄。運行代碼的時候,可以選擇在哪個kernel運行,不選的話默認重開一個。

PyCharm

技術分享圖片

JetBrains出品的IDE,沒錯就是那個在java開發領域用IntelliJ IDEA幹死了Eclipse的JetBrains。PyCharm支持包括但不限於debug、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。相當多的使用者反映PyCharm極其趁手,特別是從Java領域轉過來的親們。

  • 優點:功能全面而強大,智能提示功能媲美Java的IDE。
  • 缺點:PyCharm自身是用Java寫的,占用資源龐大,機器不好容易卡頓。適合Web項目等大型項目開發,對數據科學不是很友好。
  • 註意事項:整個IDE都是遵循Java的哲學,跟Python的套路不太一樣。

JupyterLab

技術分享圖片

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

  • 優點:全兼容Jupyter Notebook,可以在線使用命令行,文件組織更方便,功能更強大。
  • 缺點:即使發布已經有段時間了,整個生態還是不太完整,沒有太多可用的插件,使用上不太方便。
  • 註意事項:跟Jupyter Notebook的插件系統完全不兼容,如果你的ipynb格式內使用了一些擴展插件,那麽在JupyterLab上渲染可能有問題。

Jupyter Notebook

技術分享圖片

Jupyter及iPython項目的產物,數據科學首選,著重於展示和交互,號稱可以運行的PPT。

Jupyter系列的IDE不是專門針對Python語言的,也可以運行R等語言。

  • 優點:數據科學領域的標配及事實標準,不會用就out了。展示功能方便而強大,非常適合數據分析展示。強大的插件系統和功能豐富的插件生態。基於Web,可以遠程使用。
  • 缺點:代碼碎片化嚴重,文件管理功能比較弱,不太適合大型項目。默認的代碼提示和高亮不太人性化。

  • 註意事項:因為是基於Web的,所以編輯的文件處理的數據等全部都是在Jupyter的host機器上,不是在瀏覽器所在的本地。插件用起來方便,但是配置比較復雜,不太適合新手折騰。

Atom

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

這裏介紹的是python的編輯器/IDE,atom自身的python支持還是比較弱的,所以需要通過一些插件增強其功能,這裏介紹兩個我自己在用的插件。

  • 優點:github官方出品,功能豐富,插件生態龐大。
  • 缺點:配置較復雜,對新手不是很友好,默認安裝之後,只能作為編輯器使用。資源占用有時候比較高,界面不是很流暢,對機器硬件配置要求較高。
  • 註意事項:雖然是GUI的程序,但是很多功能都要使用命令或編輯配置文件,對使用者要求較高。

Hydrogen

技術分享圖片

nteract參考jupyter實現的一個功能強大的交互式編輯器,可以直接在編輯器裏面運行代碼並查看結果,像jupyter一樣。

  • 優點:基本具備jupyter的全部功能,同時可以使用atom的各種插件來完成代碼提示,高亮等等,魚與熊掌可以兼得。
  • 缺點:只能保存為py文件,任何中間運行結果不能保存,也不能解析ipynb文件,只適合臨時使用,不太適合PPT展示等場景。
  • 註意事項:其後臺使用的是跟Jupyter一樣的iPython接口,也支持遠程功能,所以遠程功能編輯的文件,除了當前在編輯器裏面的文件之外,其他引用的文件,數據等也都必須放在遠程機器對應的執行目錄下面。需要額外配置iPython kernel,參考文檔進行配置即可。

ide python

技術分享圖片

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

  • 優點:完整的python開發環境,包括debug功能,可以使用atom其他插件提供的代碼提示高亮等等。
  • 缺點:不是很成熟,後臺使用python language server提供實時代碼分析,性能不太好,經常卡頓。
  • 註意事項:python language server需要額外安裝並配置。

VSCode

技術分享圖片

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

  • 優點:微軟官方出品,品質保證,功能豐富,使用方便。
  • 缺點:會搭配安裝一些其他軟件,微軟一貫風格。對新手不太友好。
  • 註意事項:vscode的插件是獨立的生態,跟atom是不互通的。vscode定位是一個編輯器,跟vsstudio定位為一個IDE不同。

Sublime Text

技術分享圖片

出現比較早的一個萬能編輯器,功能強大,插件豐富。

  • 優點:出現比較早,社區也比較龐大,有眾多使用者。插件生態龐大豐富,各種功能一應俱全。
  • 缺點:由於歷史遺留問題,包管理系統不是很完善,插件安裝比較復雜。對新手很不友好。
  • 註意事項:收費的,雖然可以無限免費試用。

Emacs

最強大的編輯器/IDE,不解釋。

  • 優點:要啥有啥
  • 缺點:啥都得自己折騰
  • 註意事項:熱愛生活,珍愛生命,遠離Emacs

與VIM排名不分前後,僅根據字母順序。

VIM

最強大的編輯器/IDE,不解釋。

  • 優點:要啥有啥
  • 缺點:啥都得自己折騰
  • 註意事項:熱愛生活,珍愛生命,遠離VI

與Emacs排名不分前後,僅根據字母順序。

總結

  • 編輯器與IDE的區別,dwSun認為,帶debug功能的為IDE,只有代碼提示,語法高亮之類功能的為編輯器。但是現在很多先進的編輯器通過插件擴展,也能實現debug,本文不加以嚴格區分。

  • dwSun從事的更多是數據分析,人工智能相關,因此這裏給出的編輯器/IDE可能不適合Web開發人員。

  • 某些IDE我自己也沒用過或者太復雜,這裏不做推薦,更詳細的列表請移步這裏。

  • python2.x系列正在被社區安樂死,dwSun已經完全遷移到python3.x系列了,所以不再介紹任何python2.x相關的東西。

  • 這裏介紹的IDE基本都跨Linux/Mac/Win,但是我手裏沒有Mac,Win也懶得折騰,所以沒有仔細驗證。

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

  • 編輯器/IDE不是功能越多越復雜越好,一開始選擇一個趁手的用著就可以,隨著經驗閱歷的提升,可以慢慢探索適合自己的編輯器/IDE,甚至自己開發一個。有的時候,你可能需要根據場景,配合幾個不同的編輯器/IDE一起用。

  • 工欲善其事,必先利其器。但工具只是工具,關註自己要做的事情才是關鍵。

  • 有些工具的安裝配置等需要比較好的網絡環境或者FQ。

dwSun帶你選Python的編輯器/IDE