dwSun帶你選Python的編輯器/IDE

dwSun帶你選Python的編輯器/IDE

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

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

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

IDLE

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

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

spyder

Screenshot of Spyder's main window

第一款推薦的是一個比較小衆的IDE,可是絕對值得嘗試,由於這貨對標的是matlab,有matlab使用經驗的朋友確定對matlab的IDE印象深入。而spyder的界面也跟matlab的極其類似,變量空間,命令行,代碼區,文件區包羅萬象,特別是命令區直接支持ipython,能夠跟編輯器裏面的代碼直接交互。github

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

PyCharm

PyCharm

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

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

JupyterLab

JupyterLab

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

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

Jupyter Notebook

Jupyter

Jupyter及iPython項目的產物,數據科學首選,着重於展現和交互,號稱能夠運行的PPT。sublime-text

Jupyter系列的IDE不是專門針對Python語言的,也能夠運行R等語言。python3.x

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

  • 注意事項:由於是基於Web的,因此編輯的文件處理的數據等所有都是在Jupyter的host機器上,不是在瀏覽器所在的本地。插件用起來方便,可是配置比較複雜,不太適合新手摺騰。

Atom

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

這裏介紹的是python的編輯器/IDE,atom自身的python支持仍是比較弱的,因此須要經過一些插件加強其功能,這裏介紹兩個我本身在用的插件。

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

Hydrogen

Hydrogen

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

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

ide python

ide python

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

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

VSCode

vsCode

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

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

Sublime Text

Sublime

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

  • 優勢:出現比較早,社區也比較龐大,有衆多使用者。插件生態龐大豐富,各類功能包羅萬象。
  • 缺點:因爲歷史遺留問題,包管理系統不是很完善,插件安裝比較複雜。對新手很不友好。
  • 注意事項:收費的,雖然能夠無限免費試用。

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。

相關文章
相關標籤/搜索