0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是集成開發(fā)環(huán)境和代碼編輯器?優(yōu)秀Python編程環(huán)境的要求

馬哥Linux運(yùn)維 ? 來源:未知 ? 作者:李倩 ? 2018-04-28 09:31 ? 次閱讀

使用IDLE或者Python Shell來編寫Python是非常適合于簡單程序的,但是這些工具往往將大型的編程項目變成一個個充滿絕望和沮喪的“坑”。使用一款集成開發(fā)環(huán)境甚至是一款好的專用的代碼編輯器會讓編程充滿樂趣,但是如何選擇呢?

各位看官,不要畏懼,我們將在這里為您解釋和揭開無數(shù)可供選擇的神秘面紗。雖然我們無法決定哪一款最適合于你和你的項目,但是我們會闡明每一款的優(yōu)缺點(diǎn),幫助您作出最明智的決定。

為了淺顯易懂,我們將我們的工具清單分為兩部分,一部分是專門用于Python開發(fā)的專有工具,另一部分是我們可以用于Python開發(fā)的一般工具。我們將為每一款工具列出“為什么是它”和“為什么不是它”(優(yōu)缺點(diǎn))。最后要說的是,他們之間并不相互排斥,所以您可以在幾乎無害的情況下自行嘗試。

但是,首先...

什么是集成開發(fā)環(huán)境和代碼編輯器?

集成開發(fā)環(huán)境(IDE,Integrated Development Environment)是專用于軟件開發(fā)的程序。顧名思義,IDE集成了幾款專門為軟件開發(fā)而設(shè)計的工具。這些工具通常包括一個專門為了處理代碼的編輯器(例如語法高亮和自動補(bǔ)全);構(gòu)建、執(zhí)行、調(diào)試工具和某種形式的源代碼控制。

大部分的集成開發(fā)環(huán)境兼容多種編程語言并且包含更多功能,因此一般來說體積較大,需要時間去下載和安裝并且為了正確使用需要更高深的知識。

相比之下,一款特制的代碼編輯器可以像帶有語法高亮和代碼格式化功能的文本編輯器一樣簡單。大多數(shù)優(yōu)秀的代碼編輯器都可以執(zhí)行代碼和控制調(diào)試器,并且也可以和源碼控制系統(tǒng)進(jìn)行最好的交互。與集成開發(fā)環(huán)境相比,出色的專用代碼編輯器往往體積更小更迅捷,但同時功能更少。

優(yōu)秀Python編程環(huán)境的要求

因此在編程環(huán)境中什么是我們真正需要的呢?每個應(yīng)用的功能各異,但是以下是使編程更容易的核心功能:

保存和重載代碼文件

如果一款集成開發(fā)環(huán)境或者編輯器不允許你保存現(xiàn)有工作,并在之后重新打開時不能保持你離開時的相同狀態(tài),那么它就不是什么集成開發(fā)環(huán)境。

在環(huán)境內(nèi)運(yùn)行代碼

類似的是,如果你必須退出編輯器來運(yùn)行Python代碼,那么它也就是一個普通的文本編輯器。

支持調(diào)試

在程序運(yùn)行時支持逐步運(yùn)行代碼是所有集成開發(fā)環(huán)境和大多數(shù)優(yōu)秀代碼編輯器必備的核心功能。

語法高亮

支持對代碼中的關(guān)鍵詞、變量和符號快速標(biāo)識可以讓閱讀和理解代碼更為輕松。

自動補(bǔ)充代碼格式

任何一個引人注目的編輯器或者集成開發(fā)環(huán)境都會在一個“while”或者“for”語句末端識別冒號,并且知道下一行應(yīng)該縮進(jìn)。

當(dāng)然還有許多你或許關(guān)注的別的功能,例如源碼控制、擴(kuò)展模型、構(gòu)建和測試工具、語言幫助等等。但是以上所列4點(diǎn)是我認(rèn)為一個出色的編輯環(huán)境所必須具備的核心功能。

當(dāng)我們考慮了這些功能后,讓我們首先來關(guān)注一些可用于Python開發(fā)的通用工具。

支持Python的通用編輯器和集成開發(fā)環(huán)境

Eclipse + PyDev

類別:集成開發(fā)環(huán)境

網(wǎng)址:www.eclipse.org

Python工具:PyDev, www.pydev.org

如果你足夠關(guān)注開源社區(qū),那么你一定聽說過Eclipse。Eclipse實(shí)際上是一款面向Java開發(fā)的兼容Linux, Windows和OS X的集成開發(fā)環(huán)境。它擁有豐富的插件和擴(kuò)展功能市場,這使得Eclipse適用于各種各樣的開發(fā)項目。

其中一個插件就是PyDev,它支持Python調(diào)試、代碼補(bǔ)全和交互式Python控制臺。在Eclipse中安裝PyDev非常便捷,只需從Eclipse中選擇“Help”點(diǎn)擊“Eclipse Marketplace”然后搜索PyDev。點(diǎn)擊安裝,必要的時候重啟Eclipse即可。

優(yōu)點(diǎn):如果你已經(jīng)安裝了Eclipse,安裝PyDev是非常方便快捷的,對于資深Eclipse開發(fā)者來說,PyDev是幾乎不需要另行學(xué)習(xí)的。

缺點(diǎn):如果你只是一個Python初學(xué)者或者軟件開發(fā)小白,掌握Eclipse還有很長的路要走。記得我說過集成開發(fā)環(huán)境往往體積較大并且需要更多的知識去正確使用,那么Eclipse正是如此并且就像一袋子小芯片一樣需要你逐一了解。

Sublime Text

類別:代碼編輯器

網(wǎng)址:http://www.sublimetext.com

Sublime Text是一款非常流行的代碼編輯器,其開發(fā)者是一名谷歌的工程師,其夢想是使之成為更好的文本編輯器。Sublime Text支持Python代碼編輯同時兼容所有平臺,并且豐富的插件(稱之為“包”)擴(kuò)展了語法和編輯功能。

安裝額外的Python擴(kuò)展可能會比較棘手,Sublime Text中所有的包都是用Python寫成的,并且安裝社區(qū)擴(kuò)展往往需要直接在Sublime Text中執(zhí)行Python腳本。

優(yōu)點(diǎn):Sublime Text在編程社區(qū)內(nèi)很受推崇。單單從代碼編輯器的角度來看,Sublime Text迅捷小巧并且具有良好的兼容性。

缺點(diǎn):盡管你可以無限期的使用測試版本但是Sublime Text不是免費(fèi)軟件。在Sublime Text中安裝擴(kuò)展插件可能會比較棘手,另外并不支持直接在編輯器內(nèi)部執(zhí)行或調(diào)試代碼。

為了充分利用Sublime Text設(shè)置,你可以閱讀我們的Python+Sublime Text設(shè)置指南,或者觀看我們更深層次的視頻教學(xué),這會幫助你在Sublime Text 3中建立一個高效的Python開發(fā)環(huán)境。

Atom

類別:代碼編輯器

網(wǎng)址:https://atom.io/

同樣兼容所有平臺的Atom被稱為是“21世紀(jì)可破解的文本編輯器”。開源的Atom擁有時尚的界面、文件系統(tǒng)瀏覽器和擴(kuò)展插件市場,它是使用Electron構(gòu)建的,Electron使用JavaScript、HTML和CSS構(gòu)建跨平臺的桌面應(yīng)用。Python語言由一款可在Atom運(yùn)行時安裝的擴(kuò)展插件支持。

優(yōu)點(diǎn):得益于Electron,Atom廣泛兼容各大平臺。同樣Atom小巧且下載和載入都非常迅速。

缺點(diǎn):內(nèi)置并不支持構(gòu)建和調(diào)試,這些功能是由社區(qū)提供支持的。同樣由于Atom建立在Electron框架上,所以它始終運(yùn)行在JavaScript進(jìn)程中而不是作為本地應(yīng)用運(yùn)行。

GNU Emacs

類別:代碼編輯器

網(wǎng)址:https://www.gnu.org/software/emacs/

讓我們回到iPhoneAndroid之戰(zhàn)前,在Linux和Windows的戰(zhàn)爭之前甚至是在PC和Mac的戰(zhàn)爭前,有一場“編輯器之戰(zhàn)”。而GNU Emacs就是戰(zhàn)斗中的一員。伴隨著狂熱的追隨,被稱作“可擴(kuò)展、可定制、自動記錄、實(shí)時顯示的編輯器”GNU Emacs幾乎一直縈繞在UNIX周圍。

終身免費(fèi)且兼容任何平臺(以某種形式),GNU Emacs使用強(qiáng)大的Lisp編程語言進(jìn)行定制,并為Python開發(fā)提供各種定制腳本。

優(yōu)點(diǎn):了解了 Emacs,使用過 Emacs,你便會愛上 Emacs,Lisp作為第二語言,你清楚它給你的力量可以讓你為所欲為。

缺點(diǎn):定制化意味著向多種多樣的腳本文件中編寫(或復(fù)制粘貼)Lisp,如果沒有他人提供,那么你必須去學(xué)習(xí)Lisp并且搞懂它是如何運(yùn)行的。另外,Emacs是一款非常優(yōu)秀的操作系統(tǒng),如果它僅僅被當(dāng)作一款優(yōu)秀的文本編輯器....

請務(wù)必參考我們的Python + Emacs設(shè)置指南來進(jìn)行設(shè)置。

VI/VIM

類別:代碼編輯器

網(wǎng)址:https://www.vim.org/

在文本編輯器戰(zhàn)場另一側(cè)是VI(又名VIM),默認(rèn)安裝在幾乎每一個UNIX系統(tǒng)和Mac OS X系統(tǒng)中,VI有著同樣的狂熱追隨。VI和VIM是一種模型編輯器,它將文本查看從文本編輯中分離。VIM在原始VI之上做了諸多改進(jìn),包括可擴(kuò)展模型和就地代碼構(gòu)建。VIMScripts可用于各種Python開發(fā)任務(wù)。

優(yōu)點(diǎn):了解了VI,使用過 VI,你也會愛上 VI。VIMScripts并不會嚇退你,并且你可以按你的意愿去做。

缺點(diǎn):就像Emacs一樣,你可能并不適應(yīng)為了支持Python開發(fā)環(huán)境自行查找或者撰寫腳本,此外你可能并不清楚模型編輯器是如何工作的。另外,VI是一款不錯的文本編輯器當(dāng)且僅當(dāng)它擁有一個出色的操作系統(tǒng)。

如果您要使用這種組合,請參閱我們的Python + VIM安裝指南,我們將為您提供提示和插件建議。

Visual Studio

類型:集成開發(fā)平臺

網(wǎng)址:https://www.visualstudio.com/vs/

Python工具:Python Tools for Visual Studio, 也稱PTVS

與Eclipse進(jìn)行多方面比較,由Microsoft建立的Visual Studio是一款全功能集成開發(fā)平臺。VS僅兼容Windows和Mac OS系統(tǒng),它既提供了免費(fèi)版(社區(qū)版)也提供了付費(fèi)版(專業(yè)版和企業(yè)版)。VS支持各種平臺的開發(fā),并且附帶了自己的擴(kuò)展插件市場。

Python Tools for Visual Studio (又名PTVS)實(shí)現(xiàn)了在VS中進(jìn)行Python編程并且支持Python智能感知、調(diào)試和其他工具。

優(yōu)點(diǎn):就像Eclipse一樣,如果你已經(jīng)因為其他開發(fā)程序安裝了VS那么添加PTVS時非常便捷的。

缺點(diǎn):和Eclipse相同如果僅僅為了Python,那么VS是一個大型下載任務(wù)。另外如果你是Linux系統(tǒng),那你并不走運(yùn),因為VS并不支持Linux平臺。

Visual Studio Code

類別:代碼編輯器

網(wǎng)址:https://code.visualstudio.com/

Python工具:https://marketplace.visualstudio.com/items?itemName=ms-python.python

不要與完全版的VS混淆,Visual Studio Code(也稱作VS Code)是一款兼容Linux,Mac OS X和Windows 平臺的全功能代碼編輯器。麻雀雖小但五臟俱全,VS Code開源、可擴(kuò)展并且可以對幾乎所有任務(wù)進(jìn)行配置。就像Atom一樣,VS Code建立在Electron基礎(chǔ)之上,因此它具有相同的優(yōu)點(diǎn)和缺點(diǎn)。

在VS Code中安裝Python支持插件非常簡單,它的市場是一個快速點(diǎn)擊按鈕。只需要搜索Python,點(diǎn)擊安裝然后必要的時候重新啟動,VS Code就會自動識別你的Python安裝和庫。

優(yōu)點(diǎn):同樣歸功于Electron,VS Code支持所有開發(fā)平臺,同樣令人驚喜的是小巧的體格卻蘊(yùn)含了豐富的功能,同時它也是開源的。

缺點(diǎn):Electron的使用意味著VS Code不是本地應(yīng)用。另外,有些人可能從原則上并不使用Microsoft資源。

Python專用的編輯器和集成開發(fā)環(huán)境

PyCharm

類別:集成開發(fā)環(huán)境

網(wǎng)址:https://www.jetbrains.com/pycharm/

PyCharm是最好的一個(也是唯一一個)專門面向于Python的全功能集成開發(fā)環(huán)境。同樣擁有付費(fèi)版(專業(yè)版)和免費(fèi)開源版(社區(qū)版),PyCharm不論是在Windows, Mac OS X系統(tǒng)中, 還是在Linux系統(tǒng)中都支持快速安裝和使用。

開箱即用,PyCharm直接支持Python開發(fā)環(huán)境,打開一個新的文件然后就可以開始編寫代碼。你也可以在PyCharm中直接運(yùn)行和調(diào)試Python程序,并且它支持源碼管理和項目。

優(yōu)點(diǎn):這是真正的Python集成開發(fā)環(huán)境,擁有眾多便利和支持社區(qū)。它的編輯、運(yùn)行和調(diào)試功能統(tǒng)統(tǒng)開箱即用。

缺點(diǎn):PyCharm存在加載較慢的問題,另外對于已有的項目,默認(rèn)設(shè)置可能需要調(diào)整。

Spyder

類別:集成開發(fā)環(huán)境

網(wǎng)址:https://github.com/spyder-ide/spyder

Spyder是一款為了數(shù)據(jù)科學(xué)工作流做了優(yōu)化的開源Python集成開發(fā)環(huán)境。它是附在Anaconda軟件包管理器發(fā)行版中的,因此根據(jù)你的設(shè)置,或許你已經(jīng)在機(jī)器中安裝了Spyder。

Spyder引人注目的一點(diǎn)是其目標(biāo)受眾是使用Python的數(shù)據(jù)科學(xué)家們。你一定會留意到這一點(diǎn),舉個例子來說,Spyder很好的集成了一些諸如SciPy、NumPy和Matplotlib這樣的公共Python數(shù)據(jù)科學(xué)庫。

Spyder擁有大部分你所期待的集成開發(fā)環(huán)境該具備的功能,例如具備強(qiáng)大語法高亮功能的代碼編輯器,Python代碼補(bǔ)全,甚至是集成文件瀏覽器。

我從未在其他Python編輯環(huán)境中見過的一個特殊功能是Spyder的“變量瀏覽器”功能,它會以表格形式出現(xiàn)在集成開發(fā)環(huán)境界面右側(cè)來展示數(shù)據(jù)。就我個人來說,雖然我并不十分需要這個功能,但是它看起來的確很整潔。如果你是一位日常用Python做數(shù)據(jù)科學(xué)工作的人,那你一定會深深愛上這個獨(dú)特的功能。Spyder關(guān)于IPython或者說Jupyter的集成也做得非常好。

總之,我認(rèn)為Spyder比其他的集成開發(fā)環(huán)境更基本,我更愿意把它看做是一款專業(yè)工具而不是我日常使用的編輯環(huán)境。關(guān)于Spyder比較優(yōu)秀的一點(diǎn)是它兼容Windows、macOS和 Linux系統(tǒng)并且是一個完全開源軟件。

優(yōu)點(diǎn):當(dāng)你是使用Anaconda Python發(fā)行版的數(shù)據(jù)科學(xué)家時你會愛上它。

缺點(diǎn):更有經(jīng)驗的Python開發(fā)人員可能會覺得Spyder太基本了以至于不能支持每日所需的基本工作,這樣的話還不如選擇一個更為完整的集成開發(fā)環(huán)境或者定制編輯器解決方案。

Thonny

類別:集成開發(fā)環(huán)境

網(wǎng)址:http://thonny.org/

作為Python集成開發(fā)環(huán)境大家庭中的新成員,Thonny被稱作是針對新手的一款集成開發(fā)環(huán)境。由愛沙尼亞塔爾圖大學(xué)的計算機(jī)科學(xué)學(xué)院開發(fā)并維護(hù)的Thonny適用于全部主流平臺,并且在網(wǎng)站上附有安裝指南。

默認(rèn)情況下,Thonny會和自帶捆綁的Python版本一起安裝,所以你不需要再安裝什么新的東西。更有經(jīng)驗的老手可能需要調(diào)整這個設(shè)置以便找到和使用已安裝的庫。

優(yōu)點(diǎn):你是一名Python新人小白,并且一切就緒需要一款集成開發(fā)環(huán)境的時候你會選擇它。

缺點(diǎn):更有經(jīng)驗的Python老手可能會覺得Thonny同樣太基礎(chǔ)了,并且其內(nèi)置解釋器只是一個工作場合,而不是一個可以與之共事的工具。此外,作為一款新興工具,你在遇到問題時很有可能發(fā)現(xiàn)沒有現(xiàn)成的解決方法。

哪一個是為你量身定做的?

只有你自己可以決定中意哪一款,但是還是有一些基本建議:

Python開發(fā)新人應(yīng)該嘗試越少定制化越好的解決方案,越少阻礙,越好

如果你將文本編輯器用于其他用途(如網(wǎng)頁或文件編輯)那么查找代碼編輯器方案。

如果你已經(jīng)在使用其他開發(fā)軟件,你可能會發(fā)現(xiàn)將Python功能添加到現(xiàn)有工具集更容易。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    797

    瀏覽量

    30929
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84078
  • 集成開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    12069

原文標(biāo)題:Python的10大集成開發(fā)環(huán)境和代碼編輯器(指南)

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    vim編輯器如何使用

    Vim編輯器是一個功能強(qiáng)大的文本編輯器,它基于Vi進(jìn)行改進(jìn),并增加了許多新特性。Vim編輯器的使用主要涉及其不同的工作模式及相應(yīng)操作。以下是Vim編輯器的基本使用方法: 一、Vim
    的頭像 發(fā)表于 08-30 14:58 ?168次閱讀

    嵌入式學(xué)習(xí)-常用編輯器之Vim編輯器

    Vim常用的操作命令。在Linux環(huán)境下默認(rèn)會集成Vi編輯器,Vim是Vi編輯器的高階版本,更容易使用,Vi的命令幾乎全部可以在Vim上使用。在進(jìn)行安裝
    發(fā)表于 08-23 09:12

    常用編輯器之Vim編輯器

    Vim常用的操作命令。 在Linux環(huán)境下默認(rèn)會集成Vi編輯器,Vim是Vi編輯器的高階版本,更容易使用,Vi的命令幾乎全部可以在Vim上使用。 在進(jìn)行安裝
    發(fā)表于 08-22 09:48

    idea和eclipse環(huán)境配置沖突嗎

    ,讓我們了解一下Idea和Eclipse各自的特點(diǎn)和功能。 Idea是由JetBrains開發(fā)的Java集成開發(fā)環(huán)境。它提供了強(qiáng)大的代碼
    的頭像 發(fā)表于 12-06 14:01 ?1105次閱讀

    php編程用什么軟件

    在PHP編程過程中,有許多不同的開發(fā)軟件可供選擇。以下是一些常用的PHP開發(fā)工具,它們可以幫助程序員編寫、調(diào)試和測試PHP代碼。 PHPStorm PHPStorm是一款強(qiáng)大的
    的頭像 發(fā)表于 12-04 16:20 ?2334次閱讀

    python運(yùn)行環(huán)境的安裝和配置

    Python是一種非常流行的編程語言,廣泛應(yīng)用于科學(xué)計算、Web開發(fā)、人工智能等領(lǐng)域。為了能夠正常運(yùn)行Python程序,我們需要先安裝和配置Pyth
    的頭像 發(fā)表于 11-29 16:17 ?938次閱讀

    Python運(yùn)行環(huán)境有哪些

    Python是一種廣泛使用的高級編程語言,它有許多種運(yùn)行環(huán)境,可以適應(yīng)不同的開發(fā)需求。下面將詳細(xì)介紹Python的幾種常見的運(yùn)行
    的頭像 發(fā)表于 11-29 16:14 ?1651次閱讀

    python軟件IDLE怎么打多行代碼

    IDLE(Integrated Development and Learning Environment)是Python編程語言的一個官方集成開發(fā)環(huán)
    的頭像 發(fā)表于 11-29 15:00 ?3182次閱讀

    pycharm怎么配置python環(huán)境變量

    PyCharm 是一種以 Python 為主的集成開發(fā)環(huán)境 (IDE),它提供了一系列的功能用于開發(fā)、調(diào)試、測試和部署
    的頭像 發(fā)表于 11-29 14:56 ?2230次閱讀

    python自帶的idle怎么進(jìn)入

    Python自帶的IDLE是一個集成開發(fā)環(huán)境(Integrated Development Environment),它通過提供編輯器和交互
    的頭像 發(fā)表于 11-29 14:51 ?1870次閱讀

    python軟件怎么運(yùn)行代碼

    理解的機(jī)器代碼。 在本文中,我們將詳細(xì)介紹如何運(yùn)行Python代碼。我們將探討以下幾個方面:安裝Python,設(shè)置環(huán)境變量,選擇一個
    的頭像 發(fā)表于 11-28 16:02 ?745次閱讀

    運(yùn)行Python程序的幾種常見方法

    方法: 使用Python解釋 Python解釋是運(yùn)行Python程序的基本工具。在命令行中輸入 py
    的頭像 發(fā)表于 11-28 15:32 ?1923次閱讀

    常用的c語言開發(fā)環(huán)境有哪些

    )、文本編輯器和編譯等工具。 IDE(集成開發(fā)環(huán)境) IDE是一種集成了文本
    的頭像 發(fā)表于 11-27 16:14 ?4838次閱讀

    python代碼寫完后點(diǎn)哪個運(yùn)行

    或命令行界面,輸入命令 python ,然后將你的代碼粘貼到解釋提示符 >>> 后面,按下回車即可運(yùn)行代碼集成
    的頭像 發(fā)表于 11-24 09:28 ?2806次閱讀

    一分鐘帶你了解TSMaster小程序編輯代碼智能提示功能

    本文給大家?guī)鞹SMaster小程序編輯的新功能,其中主要包含:代碼編輯智能提示功能、可用外部代碼編輯器
    的頭像 發(fā)表于 10-28 08:22 ?1548次閱讀
    一分鐘帶你了解TSMaster小程序<b class='flag-5'>編輯</b><b class='flag-5'>代碼</b>智能提示功能