世界上最好的Python編輯器是什麼?我投 PyCharm一票

 2018-11-17 11:00:24.0

世界上最好的 Python 編輯器或 IDE 是什麼?炫酷的界面、流暢的體驗,我們投 PyCharm 一票,那麼你呢?本文介紹了 PyCharm、Jupyter Notebook 和 Spyder 在內的 5 種主流 Python IDE,每一種都各有優缺點。不過結合經驗教訓,不論是純文本編輯器還是集成開發環境,總有一款是你的最愛,那麼快在文末爲你最愛的 IDE 投上一票吧。

1991 年,Guido van Rossum 創建了 Python 併發布了第一個版本。這種解釋型高級編程語言爲通用編程而開發。Linux、MacOS 和 Windows 等操作系統中都有 Python 解釋器。

經過近 30 年的發展,Python 已成爲編程社區極受歡迎的語言。使用 IDLE 或 Python Shell 寫 Python 編碼適用於小型項目,但無法應對成熟的機器學習數據科學項目。

在這種情況下,你需要使用一個 IDE(集成開發環境)或專用的代碼編輯器。由於 Python 是最流行的編程語言之一,IDE 的選擇也非常多。那麼問題來了:「究竟什麼樣的 IDE 最適合 Python?」

很明顯,沒有哪一個 IDE 或代碼編輯器可以稱得上是「最好」的 Python IDE 或編輯器。這是因爲它們各有優劣。此外,從爲數衆多的 IDE 中進行挑選實在太浪費時間。

但不用擔心,本文已經爲你整理好了。爲了幫助你做出正確的選擇,本文將介紹幾種最適合 Python 的 IDE,專門用於處理數據科學項目。

Atom

  • 平臺:Linux/macOS/Windows

  • 官網:https://atom.io/

  • 類型:通用文本編輯器

Atom 是一種免費的開源文本及源代碼編輯器,適用於 Java、PHP、Python 等多種編程語言。該文本編輯器支持用 Node.js 寫成的插件。儘管 Atom 適用於多種語言,但它對 Python 情有獨鍾,其有趣的數據科學特性非常適合 Python。

Atom 的最大特點之一是支持 SQL 查詢,但你需要安裝 Data Atom 插件才能獲取該特性。它支持 Microsoft SQL Server、MySQL 及 PostgreSQL。而且,你還可以可視化 Atom 的結果,無需打開其他任何窗口。

可以幫助 Python 數據科學家的另一個 Atom 插件是 Markdown Preview Plus。它可以爲編輯、可視化 Markdown 文件提供支持,讓你可以預覽、渲染 LaTeX 公式等。

優點:

  • 活躍的社區支持

  • 與 Git 的完美集成

  • 爲管理多個項目提供支持

缺點:

  • 在較老的 CPU 上運行可能會出現性能問題

  • 可能遇到遷移問題

Jupyter Notebook

  • 平臺:Linux/macOS/Windows

  • 官網:https://jupyter.org/

  • 類型:基於 Web 的 IDE

Jupyter Netbook 起源於 2014 年的 Ipython,它是一種基於服務器-客戶端結構的網頁應用。Jupyter Netbook 允許我們通過「Notebook」創建和操作代碼文件,並且採用一種即時運行的方法,這是 Jupyter Notebook 最重要的特性。對於 Python 數據科學家而言,Jupyter Notebook 基本上是必需品,因爲它提供了最直觀、最精煉的交互式數據科學環境。

對於剛入門的數據科學家而言,Jupyter 是最簡單也最完美的工具。我們在寫完一個代碼片段後就能直接運行這些局部代碼查看效果,因此它的交互效果是最好的。此外,Jupyter Notebook 中的單元可以選擇代碼或者文檔,也就是說選擇文檔後可以直接按照 MarkDown 的語法寫代碼或整個文件的註釋、心得和背景知識等。

通過使用 Matplotlib 和 Seaborn 等可視化工具,我們可以直接在代碼單元下輸出想要的可視化圖信息。當然我們也可以將整個 Notebook 文件導出爲 PDF、HTML 或純 Python 代碼文件,這非常有利於文件在不同平臺間的傳播,因此像谷歌的 Colab 等平臺也都默認使用 Notebook 的這種形式。與 Ipython 一樣,Jupyter Notebook 是一系列項目的總稱,包括 Notebook、Console 和 Qt console 等。

優點:

  • 允許使用 Notebook 直接創建博客或代碼演示

  • 確保可復現的研究與解釋

  • 在運行整體前可以運行並修正局部代碼塊

缺點:

  • 複雜的安裝過程(你也可以直接安裝集成開發環境 Anoconda~)

PyCharm

  • 平臺:Linux/macOS/Windows

  • 官網:https://www.jetbrains.com/pycharm/

  • 類型:Python 專用 IDE

PyCharm 是 Python 的專用 IDE,地位類似於 Java 的 IDE Eclipse。功能齊全的集成開發環境同時提供收費版和免費版,即專業版和社區版。PyCharm 是安裝最快的 IDE,且安裝後的配置也非常簡單,因此 PyCharm 基本上是數據科學家和算法工程師的首選 IDE。

對於喜歡 IPython 或 Anaconda 發行版的人而言,PyCharm 同樣可以便捷地集成 Matplotlib 和 NumPy 等工具,這意味着我們在處理數據科學項目時可以便捷地使用數組查看器和交互式圖表等。除此之外,IDE 還擴展了對 JavaScript 和 Angular JS 等語言的支持,這使得它同樣也適合 Web 端的開發。

安裝完成後,我們可以快速建立一個 Python 項目,並選擇解釋器和新的代碼文件。可能我們會用 conda 等工具維護不同的環境,例如 TensorFlow 或 PyTorch 等,在建立新項目時只需要選擇這些環境下的 Python 主程序就相當於選擇了新環境。最後,除了提供直接 debug 和運行功能外,PyCharm 還提供對源代碼和項目控制的支持。

優點:

  • 活躍的社區支持

  • 支持全面的 Python 開發,不論是數據科學還是非數據科學項目

  • 新手和老兵都易於使用

  • 快速 Reindexing

  • 運行、編輯、debug Python 代碼都不需要額外的支持

缺點:

  • 加載可能比較慢

  • 使用現有項目前可能需要調整默認設置

Redeo

  • 平臺:Linux/macOS/Windows

  • 官網:https://rodeo.yhat.com/

  • 類型:Python 專用 IDE

Redeo 的 logo 就暗示了這個 IDE 是專門爲數據分析而開發的,如果用過 RStudio,你就會發現 Redeo 與它有很多相似的特徵。對於那些不瞭解 RStudio 的人而言,你們只需要知道它是最流行的 R 語言集成開發環境。與 RStudio 一樣,Rodeo 的窗口分爲四部分,即代碼文本編輯器、控制檯、變量可視化環境和圖形/庫/文件的查看窗口。有意思的是,RStudio 和 Redeo 都與 MATLAB 有很多相似之處。

Redeo 的最大優勢在於新手和老兵都能方便地使用。由於 Redeo 允許在寫代碼的同時查看變量和可視化等細節,它可以稱得上是最好的數據科學 IDE 之一。此外,Redeo 還有內置的課程及輔助材料。

優點:

  • 大量定製化設計

  • 實時監控代碼到底創建了些什麼

  • 通過自動補全和語法高亮,寫代碼會更快

缺點:

  • 有很多 Bug

  • 社區支持不是很多

  • 內存問題

Spyder

  • 平臺:Linux/macOS/Windows

  • 官網:https://www.github.com/spyder-ide/spyder

  • 類型:Python 專用 IDE

Spyder 是 Python 專用的一種開源 IDE,其獨特之處在於專爲數據科學工作流程進行了優化。它與 Anconda 軟件包管理器捆綁在一起,後者是 Python 編程語言的標準發行版。Spyder 擁有所有必需的 IDE 特性,包括代碼完整性及集成文件瀏覽器。

Spyder 專爲數據科學項目創建,具備平滑的學習曲線,即學即會。在線幫助選項允許用戶在並行開發項目的同時尋找關於庫的專門信息。而且,這個 Python 專用 IDE 與 RStudio 類似。因此,在從 R 切換到 Python 時這是一個恰當的選擇。

適用於 Python 庫的 Spyder 集成支持(如 Matplotlib 和 SciPy)進一步證明,Spyder 是爲數據科學家量身打造的。除了可感知的 IPython/Jupyter 集成之外,Spyder 還有一個獨特的「variable explorer」特性,允許使用基於表格的佈局展示數據。

優點:

  • 代碼完備性和變量探索

  • 易用性

  • 數據科學項目的理想工具

  • 界面整潔

  • 活躍的社區支持

缺點:

  • 不適用於非數據科學項目

  • 對於高階 Python 開發者而言太基礎了

如何爲 Python 選擇理想的 IDE?

這完全取決於你的需求。以下是幾點建議:

  • 如果你剛開始使用 Python,找一個定製化較少、附加功能也較少的 IDE。干擾越少,上手越容易。

  • 將這些 IDE 功能與你的期望進行對比。

  • 多嘗試幾種 IDE 就會知道哪一種最適合你的需求。 

原文鏈接:https://www.kdnuggets.com/2018/11/best-python-ide-data-science.html

文章來源:機器之心