常用Python集成開發環境IDE介紹

初音未来的男朋友 2024-04-04 12:07 15次浏览 0 条评论 taohigo.com

寫Python程序應該用PyChram、Spyder還是Visual Studio?

工欲善其事,必先利其器。在我們開始學習使用Python之前,選擇一個合適的集成開發環境,也就是IDE,有利於我們快速上手Python,在學習中起到事半功倍的效果。本文就來介紹一下常用的Python IDE工具。

一、IDE的總體分類

IDE總體可以分為兩類,文本工具類和繼承工具類。

文本工具類IDE包括:IDLE、Sublime Text、Notepad++、Vim & Emacs、Atom、Komodo Edit。

集成工具類IDE包括:PyCharm、Anaconda & Spyder、Wing、PyDev & Eclipse、Visual Studio、Canopy。

上面的列舉中,加粗的工具是我推薦的、較為常用的免費Python IDE。

另外,我們還可以把所有的IDE分類為通用型IDE和專註於數據分析的IDE。

在第二節和第三節中,我將分別介紹這兩類IDE。

二、通用類型的Python IDE

(一)IDLE

IDLE是Python自帶的、默認的、入門級編寫工具。包含交互式和文件式兩種方式。在交互式中可以編寫一行或者多行語句並且立刻看到結果。在文件式中可以,可以像其他文本工具類IDE一樣編寫。

交互式IDLE文件式IDLE

IDLE適用於Python入門,功能簡單直接,適合300+行代碼以內的程序。

(二)Sublime

Sublilme Text是專門為程序員開發的第三方專用編程工具。幾乎所有專業的程序員都使用類似於Sublime Text類型的編程工具,而不是用集成開發工具。因為專業程序員編寫代碼質量較高,對於調試的需求較低;對於編寫代碼過程的體驗要求較高。

Sublime Text支持代碼高亮、自動補齊、多種顏色搭配等多種編程風格。

Sublime Text包含收費版本和免費版本,兩者功能相同。在不註冊的時候,使用的就是免費版本。

(三)Wing

Wing是非常專業的Python集成工具類IDE。它是由商業公司維護的收費工具。

Wing提供瞭豐富的調試功能,也提供瞭版本控制和版本同步,適合多人共同開發。適合用於編寫數千行至上萬行的程序。

(四)Visual Studio

如果我們之前比較熟悉Visual Studio,則可以通過PTVS來配置基於Visual Studio的Python編程環境。Visual Studio是微軟提供的、在Windows上的編程環境。Visual Studio非常專業,提供瞭豐富的調試功能。

Visual Studio 分為 Community、Professional 和 Enterprise三個版本。其中 community 版本面向學生、開放源代碼和單個開發人員提供免費使用;professional 版本適用於小型團隊;enterprise 版本可以滿足各種規模團隊的需求。各個版本的功能區別看這裡。

Community 版本不能用於“擁有超過 250 臺 PC 或年收入超過 100 萬美元的組織使用”,同時在該組織中不能有超過5個用戶。來源:比較 Visual Studio 產品 | Visual Studio

(五)Eclipse

Eclipse是一個常用的編輯環境,是一個開源的IDE。我們可以通過PyDev在Eclipse裡配置Python的開發環境。

Eclipse是早年為Java程序員開發的IDE,裡面提供瞭很多可以自定義的功能。所以,如果要用Eclipse配置一個Python開發環境,很多地方需要用戶自己來定義,相對比較復雜。需要具備較好的專業經驗,才能配置一個完整的Python IDE環境。

(六)PyChram

PyCharm 是唯一一款專門面向Python的全功能集成開發環境。PyCharm 的產品和 Sublime 一樣,分為社區(免費)版和收費版。我們編寫的絕大多數程序,社區的免費版就可以完成。

PyCharm 是所有的集成類工具中相對簡單且集成度較高的,使用人數最多,適合編寫較大、較復雜的程序。代碼自動補全在同類產品中幾乎是最優秀的。

缺點是太重量級瞭,啟動速度慢,尤其是裝瞭很多的模塊後,啟動更慢占用內忖度。付費的專業版很貴,專業版功能強大復雜性對新手來說不是很友好。

三、科學計算與數據分析領域Python IDE

(一)Canopy

Canopy是由商業公司提供和維護的第三方工具。這個工具收費,且價格較貴。Canopy支持500多個第三方庫,是科學計算領域中集成度較高且使用方便的IDE。

(二)Anaconda

Anaconda是一個第三方、開源、免費的工具,支持800多個第三方庫,包含多個主流的Python開發調試環境,十分適合在數據處理和科學計算的使用。由於Anaconda是一個跨平臺工具,因此它可以很好地在Windows、Linux和OS X上使用。

1.Anaconda的來源

有趣的是,Anaconda和Canopy是由同一個人開發和領導設計的,這個人叫Travis Oliphant。Travis Oliphant是SciPy、NumPy 和 Numba 的創造者,Anaconda, Inc. 的創始人和董事,NumFOCUS 的創始人,以及Quansight的CEO。

在2008年Travis Oliphant領導開發瞭Canopy工具。但是Travis Oliphant的開源開放理念與公司堅持Canopy收費的理念不同。因此在2012年,Travis離開瞭原公司,帶領新的團隊開發瞭免費開源的Anaconda平臺。

由於Anaconda是開源免費的,因此獲得瞭來自全球的優秀工程師共同改進。他們將這個平臺打造得非常好用。

2.Anaconda的實質

Anaconda本身並不是一個開發和調試環境,而是一個集成各類Python工具的集成平臺,將很多第三方的開發調試環境集成到一起。

也就是說,Anaconda是一個集合,包括conda、某版本Python、一批第三方庫。

3.Anaconda中的conda

Conda將工具、第三方庫、Python版本、conda都當做包,同等對待。

4.Anaconda中的Spyder

Spyder 是一個編寫和調試 Python 語言非常優秀的第三方工具,python 之父參與開發。Spyder 的窗口分為三個區域,左側是編輯區,用來寫代碼。右上是文件導航和幫助區,這裡可以查看相關區域的文件信息,實際是用中這部分不太用得到。右下是IPython區,這裡對於運行的輸入做相關響應,用來做調試。

Sypder 的優點是,啟動速度較快,可以查看變量,這軟件基本就是模仿matlab一樣,對數據分析者非常的實用,功能簡單,很容易上手,同企業200人以內使用是免費的。

Spyder 幾乎可以幫助我們應對在數據處理和科學計算方面的所有需求。

5.Anaconda中的IPython

IPython是一個能調用Python解釋器的交互式編程環境,是一個強大的交互式Shell,能夠顯示很多的圖形圖像,適合進行交互式的數據可視化、以及和GUI相關應用。IPython是一個前臺的顯示腳本,核心的執行功能在後臺的Python解釋器。

Anaconda中的Jupyter,就是調用IPython的第三方開放接口來實現其豐富功能的。

在IPython中,輸入“一個變量/函數的名字”+“問號?”,例如變量的類型、值、描述信息,或者函數的源代碼。

如果要在IPython中執行python文件,可以用%run命令。例如“ %run demo.py”就會執行demo.py這個文件。註意,%run在一個空的命名空間執行%,因此這個程序必須在其內部包含足夠的import變量,使得demo.py可以不借助於現有的命名空間來執行。

這裡的“%”叫魔術命令。

常用命令 說明
%magic 顯示所有的魔術命令
%hist IPython命令的輸入歷史
%pdb 異常發生後自動進入調試器
%reset 刪除當前命名空間中的全部變量或名稱
%who 顯示IPython當前命名空間中已經定義的變量
%time statement 給出代碼的實行時間,statement表示一段代碼
%timeit statement 多次實行代碼,計算綜合平均執行時間,用於評估性能關鍵的程序。

這些工具在編寫和調試Python程序的時候十分常用。