1. 程式人生 > >Python編輯器你選哪個?我選PyCharm!

Python編輯器你選哪個?我選PyCharm!

世界上最好的 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/

● 型別:通用文字編輯器

Python編輯器你選哪個?我選PyCharm!

 

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

Python編輯器你選哪個?我選PyCharm!

 

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

Python編輯器你選哪個?我選PyCharm!

 

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

Python編輯器你選哪個?我選PyCharm!

 

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

Python編輯器你選哪個?我選PyCharm!

 

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 就會知道哪一種最適合你的需求。