riogarfield
世界上最好的 Python 編輯器或 IDE 是什麼?炫酷的界面、流暢的體驗,機器之心投 PyCharm 一票,那麼你呢?本文介紹了 PyCharm、Jupyter Notebook 和 Spyder 在內的 5 種主流 Python 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 就會知道哪一種最適合你的需求。
機器之心
這裡介紹幾個不錯的python編輯器,感興趣的可以下載,嘗試一下,主要內容如下:
1.Sublime Text:這是一個輕量級的代碼編輯器,跨平臺,支持幾十種編程語言,包括Python,Java,C/C++等,小巧靈活,運行輕快,支持代碼高亮、自動補全、語法提示,插件擴展豐富,是一個很不錯的代碼編輯器,配置相關文件後,可直接運行python程序:
2.VS Code:這是微軟開發的一個跨平臺的代碼編輯器,支持常見的編程語言開發,插件拓展豐富,不僅智能補全、語法檢查、代碼高亮,還支持git功能,運行流暢,是一個很不錯的代碼編輯器,安裝相關插件後,可直接運行python程序:
3.Atom:這是github專門為程序員開發的一個代碼編輯器,也是款平臺的,界面簡潔直觀,使用起來非常方便,自動補全、代碼高亮、語法提示,啟動運行速度較快,對於初學者來說,是一個很不錯的代碼編輯器:
4.PyCharm:這是一個專門用於Python開發的IDE,常見的代碼補全、智能提示、語法檢查,這個軟件都支持,除此之外,還集成了版本控制、單元測試、git功能,可以快速創建Django,Flask等Python Web框架,使用起來非常不錯,在開發大型項目中經常會用到,唯一的缺點就是,啟動起來有些卡,還不是免費的,不過可以下載社區免費版的:
就分享這4個Python編輯器吧,使用起來都不錯,對於日常的Python開發來說,完全夠用了,當然,也還有其他Python編輯器,像Spyder等,也歡迎大家留言、評論。
小小猿愛嘻嘻
WingIDE是個專為python程序語言設計的集成開發環境。從1999年起,Wingware公司便開始專注於python開發,目前WingIDE已經是著名的python開發框架,面向項目風格的 IDE 對於大型產品非常有用, 是個很有前途的開發環境。 其有以下功能特點:
代碼智能化
自動完成,通話時間提示,錯誤指示器,轉到定義,查找應用,瀏覽器源,代碼指數和符號查找。
VI, emacs,和其他鍵綁定,重構,live snippets,書籤,強大的搜索工具等。
單元測試
通過單元測試,doctest和nose框架進行綜合測試執行和調試。
圖形調試器
調試器設計得很好,在shell中設置斷點,步驟,視圖數據和交互。IDE中啟動或遠程調試,同時調試Django模板。
版本控制
通過Subversion, Mercurial, Bazaar, Git, CVS和Perforce進行項目管理,包含了一個圖形化區分/合併的工具。
跨平臺
Wing IDE可以在Windows, Linux和OS X操作系統下運行,並支持CPython 2.x, 3.x和Stackless Python。
小號客
如果某語言有jetbrains出品的編輯器,直接上就對了。
果果530
vscode!
rijieluo
pycharm
jupiter notebook
張導980
其實別人說的也只是別人的建議,個人見解還是可以花個一兩天時間把市面上的IDE都嘗試一遍,那個用起來順手,那個才更適合自己