偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

哪種Python的IDE更適合你?

譯文
開(kāi)發(fā) 后端
哪一種Python的集成開(kāi)發(fā)環(huán)境(IDE)更適合你?以下對(duì)IDLE、Komodo、LiClipse、PyCharm、Visual Studio Code的Python擴(kuò)展,Visual Studio的Python工具,以及Spyder這7種Python IDE在功能和易用性方面的組合進(jìn)行分析和闡述。

【51CTO.com快譯】哪一種Python的集成開(kāi)發(fā)環(huán)境(IDE)更適合你?以下對(duì)IDLE、Komodo、LiClipse、PyCharm、Visual Studio Code的Python擴(kuò)展,Visual Studio的Python工具,以及Spyder這7種Python IDE在功能和易用性方面的組合進(jìn)行分析和闡述。

在用來(lái)衡量編程語(yǔ)言的流行性和成功性的量標(biāo)準(zhǔn)中,一個(gè)主要指標(biāo)是可以使用的開(kāi)發(fā)環(huán)境的數(shù)量。Python近幾年得到廣泛應(yīng)用,因此也掀起開(kāi)發(fā)商對(duì)支持集成Python的IDE的開(kāi)發(fā)熱潮,而這些工具既面向組織的編程人員,又可以面向?qū)ython用于科學(xué)工作和分析編程的工作人員。

獲得Python支持的一些IDE涵蓋了各種用例。有一些是專門(mén)為Python構(gòu)建的,而另外一些則是通過(guò)附加組件支持Python或已使用Python特定的擴(kuò)展進(jìn)行改進(jìn)的多語(yǔ)言IDE。盡管許多開(kāi)發(fā)商都致力使其IDE成為一種通用解決方案,但這取決于Python開(kāi)發(fā)人員不同的需求和標(biāo)準(zhǔn)。

如今,許多IDE都是為特定語(yǔ)言和任務(wù)配備附加組件的框架,而不是由內(nèi)而外編寫(xiě)的促進(jìn)特定編程語(yǔ)言開(kāi)發(fā)的應(yīng)用程序。為此,用戶對(duì)IDE的選擇可能取決于其是否有使用類似IDE的經(jīng)驗(yàn)。

對(duì)于那些沒(méi)有這方面經(jīng)驗(yàn)的組織和人員來(lái)說(shuō),PyCharm是一個(gè)很好的起點(diǎn)。它對(duì)入門(mén)者很友好,并且功能不受影響。實(shí)際上,它具有所有IDE中最常用的功能,雖然其中許多功能只能在付費(fèi)版本中可用,但免費(fèi)版本的很多功能也可以為剛?cè)腴T(mén)的開(kāi)發(fā)人員提供幫助。

對(duì)于已經(jīng)熟悉Eclipse和Microsoft Visual Studio的開(kāi)發(fā)人員來(lái)說(shuō),LiClipse和用于Visual Studio的Python工具(PTVS)是很好的選擇。這兩者都是成熟的開(kāi)發(fā)環(huán)境,可以很好地集成Python。然而,它們也是龐大而復(fù)雜的應(yīng)用程序,因此也會(huì)耗費(fèi)更多的資源。如果已經(jīng)精通其中的一個(gè),那么它將是開(kāi)展Python工作的一個(gè)很好選擇。

微軟公司的Visual Studio 代碼編輯器(包含微軟公司的Python擴(kuò)展程序)比Visual Studio輕巧得多。Visual Studio代碼憑借其廣泛的擴(kuò)展而受到用戶的歡迎,例如,項(xiàng)目的開(kāi)發(fā)人員不僅可以使用Python,而且可以使用HTML和JavaScript來(lái)擴(kuò)展項(xiàng)目的組合,以補(bǔ)充該項(xiàng)目的工作流程。

ActiveState公司的Komodo IDE的Python版本適合那些已經(jīng)將Komodo IDE用于其他編程語(yǔ)言的人員,并且具有一些獨(dú)特的功能(例如正則表達(dá)式計(jì)算器)可以擴(kuò)大其吸引力。而Komodo值得入門(mén)者和行業(yè)專家的密切關(guān)注。

Spyder更適合在像Anaconda這樣的發(fā)行版本中使用Jupyter記事本或其他科學(xué)計(jì)算工具,而不是作為Python的開(kāi)發(fā)平臺(tái)。而IDLE最好用于快速腳本編寫(xiě),不過(guò)它也可能會(huì)落后于帶有Python語(yǔ)法插件的獨(dú)立代碼編輯器。

1.IDLE

IDLE是大多數(shù)Python安裝中包含的一種集成的開(kāi)發(fā)和學(xué)習(xí)環(huán)境,可以視為默認(rèn)的Python IDE。但是,IDLE絕不能替代技術(shù)成熟的IDE。它更像是一個(gè)精美的文件編輯器。盡管如此,IDLE仍然是開(kāi)發(fā)人員了解Python語(yǔ)言的默認(rèn)選項(xiàng)之一,并且伴隨著每個(gè)Python版本(尤其是Python 3.5)的改進(jìn),IDLE也得到了逐步改進(jìn)。

IDLE完全由Python的默認(rèn)安裝附帶組件構(gòu)建。除了CPython解釋器本身之外,還包括Tkinter接口工具包。以這種方式構(gòu)建IDLE的一個(gè)優(yōu)點(diǎn)是能夠以一組一致的行為跨平臺(tái)運(yùn)行。而其缺點(diǎn)是,其接口的運(yùn)行速度可能非常慢。例如,從腳本向控制臺(tái)中打印大量文本比直接從命令行運(yùn)行腳本要慢得多。

IDLE有一些直接的便利和好處。它為Python提供了一個(gè)內(nèi)置的REPL(讀取、評(píng)估、打印、循環(huán))平臺(tái)或交互式控制臺(tái)。實(shí)際上,這個(gè)交互式外殼程序是啟動(dòng)IDLE時(shí)呈現(xiàn)給用戶的第一個(gè)內(nèi)容,而不是一個(gè)空的編輯器。IDLE還包含在其他IDE中找到的一些工具,例如在按下Ctrl+Space鍵時(shí)為關(guān)鍵字或變量提供建議,以及集成調(diào)試器。但是與其他IDE相比,大多數(shù)實(shí)現(xiàn)的功能都是原始的,并且由于Tkinter用戶界面(UI)組件選擇比較有限??捎糜贗DLE的第三方附加組件(例如IdleX)的集合遠(yuǎn)不及其他IDE那么豐富。

IDLE沒(méi)有項(xiàng)目的概念,因此沒(méi)有關(guān)于如何使用Python虛擬環(huán)境的規(guī)定。唯一可識(shí)別的方法是創(chuàng)建一個(gè)虛擬環(huán)境,并從其上一代安裝的Python中調(diào)用IDLE。使用其他工具(例如測(cè)試套件)只能人工完成。

總而言之,IDLE更適合兩種情況:第一種情況是為了學(xué)習(xí)編寫(xiě)一個(gè)快速的Python腳本,并且需要預(yù)先配置的環(huán)境來(lái)完成這一點(diǎn)。第二情況是適合剛?cè)腴T(mén)的初學(xué)者學(xué)習(xí)。

IDLE集成Python是免費(fèi)的,但其功能集規(guī)模很小,因此更適合初學(xué)者。

2.Komodo IDE

Komodo IDE(現(xiàn)在已經(jīng)更新到第12版)既可以用作獨(dú)立的多語(yǔ)言IDE,又可以與ActiveState的語(yǔ)言平臺(tái)集成。Python是Komodo支持的多種語(yǔ)言之一,也是ActiveState提供自定義運(yùn)行時(shí)構(gòu)建的多種語(yǔ)言之一。

在安裝時(shí),Komodo會(huì)通知用戶在系統(tǒng)上發(fā)現(xiàn)哪些編程語(yǔ)言、程序包管理器和其他開(kāi)發(fā)工具的有關(guān)信息。這是開(kāi)箱即用的一種好方法。可以肯定的是,Komodo使用的是正確的Python版本,并正確安裝的Git。

當(dāng)組織為特定語(yǔ)言創(chuàng)建一個(gè)新項(xiàng)目時(shí),Komodo會(huì)提供大量選項(xiàng)來(lái)預(yù)配置該項(xiàng)目。對(duì)于Python項(xiàng)目,可以從幾種常見(jiàn)的Web框架之一中進(jìn)行選擇。而其示例項(xiàng)目包含許多受到支持的語(yǔ)言(包括Python)的示例和教程。文件中的導(dǎo)航非常順暢,因?yàn)槲募杏幸粋€(gè)下拉式搜索小部件,可以查找所有方法和功能。其按鍵綁定是可配置的,可以通過(guò)模擬其他編輯器的下載軟件包(例如Sublime Text)來(lái)添加。

讓用戶喜歡采用Komodo的原因是它包含了適用于各種語(yǔ)言的一些工具,例如正則表達(dá)式生成器。另一個(gè)強(qiáng)大的功能是位于頂部中心的“轉(zhuǎn)到所有內(nèi)容”欄,用戶可以在其中鍵入內(nèi)容在當(dāng)前項(xiàng)目或Komodo界面中找到大多數(shù)內(nèi)容,而當(dāng)它出現(xiàn)時(shí),總是會(huì)受到用戶的歡迎。

對(duì)于代碼檢查工具,Komodo可以與PyChecke、Pylint、pep8或Pyflakes集成,盡管對(duì)它們的支持是單獨(dú)連線的,而不是通過(guò)集成代碼檢查工具的通用機(jī)制獲得的。

Komodo 12最突出的一些新功能可以與ActiveState平臺(tái)的集成。開(kāi)發(fā)團(tuán)隊(duì)可以在配置和構(gòu)建語(yǔ)言的自定義運(yùn)行時(shí),獲得他們需要的所有軟件包。這是為了確保開(kāi)發(fā)人員不必自己為項(xiàng)目設(shè)置運(yùn)行時(shí)間和依賴項(xiàng);他們可以在預(yù)裝所有內(nèi)容的情況下簡(jiǎn)單地獲取相同的自定義運(yùn)行時(shí)間。

Komodo也有一些缺點(diǎn),其一個(gè)最大的問(wèn)題是對(duì)使用Python虛擬環(huán)境的支持有限。必須人工創(chuàng)建venv,然后將項(xiàng)目的Python運(yùn)行時(shí)與這個(gè)venv相關(guān)聯(lián)。面切換給定項(xiàng)目的venv需要深入到該項(xiàng)目的設(shè)置。

Komodo 12的本地Git集成遠(yuǎn)沒(méi)有其他IDE那么強(qiáng)大。盡管用戶可以使用附加組件擴(kuò)展Komodo的功能,但Komodo所需的附加組件沒(méi)有Visual Studio Code的附加組件那樣多。而且,其中許多附加組件在Komodo 12中仍無(wú)法使用。

Python版本的Komodo IDE不僅對(duì)Python提供強(qiáng)大的支持,而且還融合了對(duì)其他編程語(yǔ)言的支持。

3.LiClipse/PyDev

Eclipse基金會(huì)開(kāi)發(fā)的Java驅(qū)動(dòng)的Eclipse編輯器通過(guò)附加組件支持多種語(yǔ)言。對(duì)Python的支持來(lái)自名為PyDev的加載項(xiàng),用戶可以通過(guò)兩種方式使用它:也就將其人工添加到現(xiàn)有的Eclipse安裝中,或者使用PyDev下載名為L(zhǎng)iClipse的Eclipse預(yù)打包版本。

除了對(duì)Python的支持之外,LiClipse還包括通過(guò)Eclipse的EGit插件進(jìn)行的Git集成,對(duì)Python的Django Web框架的支持,甚至支持Jython(Jython是在JVM上運(yùn)行的Python變體)。

LiClipse充分利用了Eclipse UI中的常規(guī)功能??梢灾匦掠成渌忻荑€,并且LiClipse附帶了一組用于Emacs仿真的密鑰綁定庫(kù)。通過(guò)“透視圖”系統(tǒng),用戶可以根據(jù)當(dāng)前的任務(wù)(開(kāi)發(fā)、調(diào)試或使用項(xiàng)目的Git存儲(chǔ)庫(kù))在多個(gè)面板視圖之間進(jìn)行切換。

LiClipse軟件包中包含的插件提供一些更好的功能。重構(gòu)歷史可以使用戶在進(jìn)行正式重構(gòu)時(shí)跟蹤整個(gè)代碼庫(kù)中的更改,這在理論上可以通過(guò)Git來(lái)完成,但是采用專用工具更加方便。另一個(gè)很好的功能是能夠在引發(fā)一個(gè)或多個(gè)異常(包括用戶已定義的異常)時(shí)自動(dòng)觸發(fā)斷點(diǎn)。

雖然LiClipse不會(huì)自動(dòng)檢測(cè)到項(xiàng)目中是否存在venv,但用戶始終可以人工配置和添加venv,并且LiClipse與Pipenv集成以創(chuàng)建和管理它們(假設(shè)基本Python安裝中存在Pipenv)。LiClipse有一個(gè)很好的GUI瀏覽器,可以查看在哪些Python venv中安裝了哪些軟件包,并且用戶也可以從這個(gè)GUI運(yùn)行pip。

LiClipse/PyDev也有一些缺點(diǎn),例如很難進(jìn)行諸如從requirements.txt文件安裝新軟件包之類的事情,并且在激活環(huán)境的情況下創(chuàng)建Shell會(huì)話也很困難。

LiClipse內(nèi)置了自己的代碼分析工具,也可以使用Mypy和Pylint。但是,與Komodo一樣,這些選擇都是硬連接到應(yīng)用程序的。沒(méi)有一種簡(jiǎn)單的方法可以將列表中沒(méi)有的其他工具整合在一起。同樣,一個(gè)直接集成到LiClipse中的測(cè)試框架是單元測(cè)試,可以通過(guò)為項(xiàng)目創(chuàng)建一種特殊的運(yùn)行配置來(lái)進(jìn)行。

LiClipse將PyDev插件打包在輕量級(jí)的Eclipse中,但是PyDev也可以添加到現(xiàn)有的Eclipse安裝程序中。

4.PyCharm

JetBrains為各種語(yǔ)言開(kāi)發(fā)了一系列IDE,所有這些IDE都基于相同的核心源代碼。 PyCharm是他們的Python IDE,其構(gòu)建旨在支持Python開(kāi)發(fā)人員的獨(dú)特工作模式和實(shí)踐。

從用戶首次創(chuàng)建PyCharm項(xiàng)目的那一刻起,對(duì)工作流程的關(guān)注就已經(jīng)顯而易見(jiàn)。用戶可以從自己選擇​​的解釋器中選擇一個(gè)虛擬環(huán)境,其中包含一個(gè)示例main.py文件。采用便捷的圖形用戶界面(GUI)使用戶可以使用pip將模塊安裝到虛擬環(huán)境中,并且其IDE甚至可以自動(dòng)檢測(cè)requirements.txt文件,提供自動(dòng)安裝缺少的依賴項(xiàng)的功能。

用戶可能會(huì)發(fā)現(xiàn)在IDE中同樣要關(guān)注工作細(xì)節(jié)。例如,如果使用Alt+Shift+F10按鍵組合在項(xiàng)目中運(yùn)行文件,PyCharm會(huì)記住這一運(yùn)行配置以供將來(lái)使用。這對(duì)于可能具有多個(gè)入口點(diǎn)的項(xiàng)目來(lái)說(shuō)很方便。當(dāng)用戶在PyCharm中打開(kāi)一個(gè)加載項(xiàng)目的命令行實(shí)例時(shí),PyCharm會(huì)自動(dòng)激活該項(xiàng)目的虛擬環(huán)境。對(duì)于使用低功耗筆記本電腦的用戶,PyCharm的“省電模式”會(huì)禁用背景代碼分析,以防止電池耗盡。

重構(gòu)項(xiàng)目也有專用的PyCharm工具。這不只是重命名函數(shù)或方法;用戶可以更改所討論代碼的大多數(shù)方面(例如更改函數(shù)簽名),并預(yù)覽這一過(guò)程中將會(huì)受到影響的內(nèi)容。PyCharm提供了自己的代碼檢查工具,但是第三方插件使得使用Pylint成為可能。

Python項(xiàng)目受益于強(qiáng)大的測(cè)試套件,但是由于涉及到樣板,開(kāi)發(fā)人員在創(chuàng)建它們時(shí)通常會(huì)拖延。PyCharm的自動(dòng)測(cè)試生成功能使用戶可以為現(xiàn)有代碼生成框架測(cè)試套件,然后根據(jù)需要進(jìn)行測(cè)試。如果已經(jīng)進(jìn)行測(cè)試,則可以配置運(yùn)行概要文件得以執(zhí)行,并支持所有流行的測(cè)試框架(pytest、unittest、nose等)。此外還有其他自動(dòng)快捷方式。

PyCharm可以通過(guò)數(shù)千個(gè)插件進(jìn)行擴(kuò)展和調(diào)整,這些插件可以通過(guò)PyCharm的用戶界面(UI)直接安裝。這包括對(duì)Python(CSV和Markdown)、第三方工具(Docker)使用的公共數(shù)據(jù)或文本格式的支持,以及對(duì)其他語(yǔ)言(R和Rust)的支持。

PyCharm的社區(qū)版本涵蓋大多數(shù)用例,但專業(yè)版添加了一些在企業(yè)設(shè)置中有用的關(guān)鍵功能,例如開(kāi)箱即用的Cython支持、代碼覆蓋率分析工具和配置文件。

PyCharm的豐富功能集,即使是免費(fèi)版本,也使其成為大多數(shù)Python開(kāi)發(fā)方案的有力選擇。

5. Visual Studio Code的Python擴(kuò)展

微軟Visual Studio Code的爆炸式增長(zhǎng)和廣泛普及推動(dòng)了附加組件的開(kāi)發(fā),這些附加組件幾乎支持每種編程語(yǔ)言和數(shù)據(jù)格式。Visual Studio Code最著名的Python插件也是由微軟公司開(kāi)發(fā)的,編輯器和附加組件共同構(gòu)成了Python開(kāi)發(fā)的最佳解決方案之一。

在安裝后,微軟的Python擴(kuò)展程序還將安裝對(duì)Jupyter記事本,該記事本可在編輯器中直接打開(kāi)和使用。Python擴(kuò)展還提供了Pylance,這是一種語(yǔ)言服務(wù)器,可以通過(guò)Pyright工具提供整理和類型檢查。這些組件一起提供了涵蓋絕大多數(shù)開(kāi)發(fā)方案的解決方案。

Visual Studio Code的Python擴(kuò)展的一個(gè)主要缺點(diǎn)是,缺少用于創(chuàng)建新Python項(xiàng)目并配置其所有元素的常規(guī)設(shè)置過(guò)程(例如向?qū)?。因此必須人工執(zhí)行每個(gè)步驟:創(chuàng)建虛擬環(huán)境、配置路徑等。它還缺乏與Pipenv等Python項(xiàng)目管理工具的全面集成。對(duì)于給定的項(xiàng)目,完全可以通過(guò)命令行進(jìn)行人工設(shè)置,這是因?yàn)闆](méi)有在Visual Studio CodeCode的Python擴(kuò)展中使用它們的工具。盡管存在對(duì)某些單獨(dú)框架的支持(例如對(duì)Django模板的調(diào)試支持),但仍必須人工配置這些框架。

從好的一方面來(lái)說(shuō),Visual Studio Code自動(dòng)檢測(cè)項(xiàng)目目錄中的虛擬環(huán)境,并在用戶在編輯器中打開(kāi)終端窗口時(shí)更多地使用它們。這樣省去了人工激活環(huán)境的麻煩。Visual Studio Code還可以檢測(cè)使用Poetry(Python項(xiàng)目管理工具)創(chuàng)建的虛擬環(huán)境。

Visual Studio Code的另一個(gè)強(qiáng)大功能是命令調(diào)色板,用戶只需鍵入一個(gè)或兩個(gè)單詞就可以找到幾乎任何命令或設(shè)置。在搜索單詞前加上“Py”或“Python”作為前綴,將獲得更加集中的搜索結(jié)果。而且,Python擴(kuò)展本身支持各種各樣的靜態(tài)代碼分析工具和代碼格式化工具。

Visual Studio Code通過(guò)Python擴(kuò)展很好地支持的一件事是發(fā)現(xiàn)和執(zhí)行單元測(cè)試。 Python的原生單元測(cè)試和第三方pytest均受支持。運(yùn)行調(diào)色板中的“Python:發(fā)現(xiàn)測(cè)試”命令將逐步完成測(cè)試的發(fā)現(xiàn),并在底部的狀態(tài)欄上設(shè)置測(cè)試運(yùn)行器按鈕。各個(gè)測(cè)試項(xiàng)目甚至都具有嵌入式注釋,可讓用戶重新運(yùn)行或調(diào)試它們。這是Python擴(kuò)展可以完成許多事情的模型。

Python擴(kuò)展集中于Python使用最廣泛的部分,而將更深?yuàn)W的部分留給第三方開(kāi)發(fā)。例如并不支持Python的Cython超集,該超集可讓用戶將Python編譯為C語(yǔ)言。第三方擴(kuò)展提供了Cython語(yǔ)法突出顯示功能,但并沒(méi)有集成Cython工作流。

Visual Studio Code的Python擴(kuò)展的最大優(yōu)點(diǎn)是,它可以從Visual Studio Code可用的擴(kuò)展的靈活性中受益。例如,可以自由地重新映射按鍵綁定,并且可以使用更多的主題來(lái)使Visual Studio Code的字體或調(diào)色板更容易接受。

Visual Studio Code的開(kāi)放式架構(gòu)允許支持多種語(yǔ)言,其中Python是主要語(yǔ)言之一。

6.適用于Visual Studio 2019的Python工具

如果用戶已經(jīng)以某種形式使用了Visual Studio,并且正在添加Python,那么采用適用于Visual Studio的Python工具插件是很有意義的。微軟的開(kāi)源插件提供了對(duì)許多常見(jiàn)Python框架的預(yù)打包功能,并且使Visual Studio界面提供了Python調(diào)試和部署功能,其方式與其他的語(yǔ)言相同。

Visual Studio現(xiàn)在為Python提供了強(qiáng)大的支持,無(wú)論用戶要構(gòu)建哪種項(xiàng)目,都需要采用考慮支持該語(yǔ)言的IDE。

有兩種方法可以在Visual Studio上使用Python進(jìn)行設(shè)置:一是用戶可以將Python工具添加到Visual Studio的現(xiàn)有安裝中,二是從頭開(kāi)始安裝Visual Studio并自動(dòng)添加Python工具。而兩條方法都是殊途同歸的,Visual Studio安裝帶有許多常見(jiàn)Python應(yīng)用程序類型的模板。

開(kāi)箱即用的Visual Studio的Python 工具可以創(chuàng)建使用一些廣泛使用的Python Web框架的項(xiàng)目:例如Flask、flaskwithjade(一種模板語(yǔ)言)、Django和Bottle微型框架。還提供通用Web服務(wù)的模板、簡(jiǎn)單的命令行應(yīng)用程序、使用Python的Windows IoT核心應(yīng)用程序,以及從現(xiàn)有Python代碼創(chuàng)建Visual Studio項(xiàng)目的選項(xiàng)。

Python運(yùn)行時(shí)也可以自動(dòng)安裝(Python 3.7.8和Python 2.7.18)。用戶甚至可以為需要使用Python的項(xiàng)目安裝Miniconda。還可以使用cookiecutter項(xiàng)目模板系統(tǒng)提供Scikit學(xué)習(xí)項(xiàng)目的模板。

當(dāng)用戶使用這些框架創(chuàng)建新項(xiàng)目時(shí),Visual Studio會(huì)檢查并確保用戶已經(jīng)具有依賴項(xiàng)。如果沒(méi)有,它將為用戶提供一些選擇。用戶可以創(chuàng)建一個(gè)Python虛擬環(huán)境,并在其中放置所需的軟件包。用戶可以在系統(tǒng)范圍內(nèi)將軟件包安裝到Python解釋器中,或者可以人工將依賴項(xiàng)添加到項(xiàng)目中。

一個(gè)很好的做法是Visual Studio記錄了設(shè)置項(xiàng)目時(shí)所采取的所有步驟,因此用戶知道已進(jìn)行了哪些更改以及哪些內(nèi)容都位于何處。Visual Studio還可以智能地檢測(cè)到requirements.txt文件的存在,并可以為用戶的項(xiàng)目創(chuàng)建一個(gè)虛擬環(huán)境,并預(yù)先安裝這些需求。如果要移植一個(gè)包含虛擬環(huán)境的現(xiàn)有項(xiàng)目,它們也會(huì)被自動(dòng)檢測(cè)并包含在內(nèi)。

Visual Studio的解決方案資源管理器不僅包含與每個(gè)Python項(xiàng)目相關(guān)的文件,而且還包含隨附的Python環(huán)境以及其中安裝的任何Python包。用戶在界面中右鍵單擊環(huán)境,可以交互地安裝軟件包和自動(dòng)生成需求文件,或?qū)⑽募A、Zip存檔或文件添加到項(xiàng)目的搜索路徑。Visual Studio會(huì)自動(dòng)為已經(jīng)安裝的環(huán)境生成IntelliSense索引,因此編輯器的即時(shí)建議是基于用戶正在使用的Python環(huán)境中安裝的內(nèi)容,而不僅僅是當(dāng)前文件或項(xiàng)目。

當(dāng)用戶啟動(dòng)用于測(cè)試的網(wǎng)絡(luò)應(yīng)用程序時(shí),通過(guò)工具欄中的綠色箭頭啟動(dòng)圖標(biāo),Visual Studio的應(yīng)用程序啟動(dòng)器會(huì)彈出并打開(kāi)默認(rèn)的網(wǎng)絡(luò)瀏覽器(或用戶選擇的瀏覽器),并將其指向應(yīng)用程序的地址和端口。生成菜單具有發(fā)布選項(xiàng),可以將用戶的應(yīng)用程序部署到包括Microsoft的Azure應(yīng)用程序服務(wù)在內(nèi)的各種云服務(wù)上。

選用于Visual Studio的Python工具提供了一個(gè)內(nèi)置工具,用于運(yùn)行Pylint和Mypy代碼分析器。與依賴外部程序包的其他Visual Studio功能一樣,如果用戶尚未設(shè)置這些程序包,則Visual Studio會(huì)嘗試安裝其中一個(gè)程序包。用戶還可以在虛擬環(huán)境中進(jìn)行設(shè)置。

很多用戶對(duì)沒(méi)有支持Cython的項(xiàng)目感到失望,其項(xiàng)目允許將Python模塊編譯為C擴(kuò)展、DLL和獨(dú)立的可執(zhí)行文件。 Cython使用Visual Studio作為其編譯器之一,但是Visual Studio的Python工具中不支持Cython格式的文件,也不直接支持在Visual Studio中編譯Cython模塊。

Microsoft在Visual Studio中提供了對(duì)Python作為開(kāi)發(fā)語(yǔ)言的支持,其中包括對(duì)Web框架的支持。

7.Spyder

大多數(shù)Python的IDE都是通用的,這意味著它們適用于任何類型的Python開(kāi)發(fā)環(huán)境,也適用于與Python一起使用其他語(yǔ)言進(jìn)行開(kāi)發(fā)。Spyder專注于提供用于科學(xué)工作的IDE,而不是提供Web開(kāi)發(fā)或命令行應(yīng)用程序。這種專注使Spyder不如其他的IDE靈活,特別是因?yàn)樗痪哂屑磿r(shí)的第三方擴(kuò)展范圍(例如Visual Studio Code具有的插件),但是在一些特定領(lǐng)域,它仍然非常強(qiáng)大。

Spyder本身是用Python編寫(xiě)的。這可能是它面臨最大的問(wèn)題,也可能是它最好的特性,這取決于用戶將如何構(gòu)建。雖然它使Spyder可供Python開(kāi)發(fā)人員使用,但它也使Spyder很難作為獨(dú)立應(yīng)用程序使用。它主要用于Anaconda Python發(fā)行版(或可移植的WinPython發(fā)行版),Anaconda提供了Spyder所缺乏的許多項(xiàng)目管理功能。

用戶可以使用安裝程序安裝Spyder單機(jī)版,但主要缺點(diǎn)是缺少每個(gè)項(xiàng)目的配置。這意味著在啟動(dòng)項(xiàng)目時(shí),沒(méi)有簡(jiǎn)單的方法可以將Spyder配置為使用任何給定項(xiàng)目的虛擬環(huán)境;只能將Spyder作為一個(gè)整體配置使用一個(gè)特定的venv。

另一種方法是創(chuàng)建一個(gè)venv并在其中安裝Spyder,然后從該venv中啟動(dòng)Spyder。但是,這需要安裝總計(jì)超過(guò)400MB的數(shù)十個(gè)軟件包,因此對(duì)于需要它的多個(gè)項(xiàng)目來(lái)說(shuō)可能不太現(xiàn)實(shí)。而Spyder的另一個(gè)缺點(diǎn)是:無(wú)論采用哪種安裝方法,Spyder的啟動(dòng)時(shí)間都比其他IDE長(zhǎng)得多。

Spyder的特性令人關(guān)注,它使Python的科學(xué)計(jì)算工具可以在單個(gè)界面中立即使用。用戶界面(UI)的左側(cè)是通常的項(xiàng)目文件樹(shù)/編輯器選項(xiàng)卡集。但右側(cè)有兩個(gè)選項(xiàng)卡式窗格,專門(mén)顯示可視化和交互式工具。IPython和Jupyter記事本在它們自己的窗格中運(yùn)行,同時(shí)運(yùn)行生成的圖形繪圖(也可以內(nèi)聯(lián)顯示,也可以只在繪圖選項(xiàng)卡中顯示)。

變量瀏覽器允許用戶交互式地編輯IPython會(huì)話中所有用戶創(chuàng)建的變量。而內(nèi)置的分析器窗格可以讓用戶查看有關(guān)程序的哪些部分花費(fèi)最多時(shí)間運(yùn)行的統(tǒng)計(jì)信息。

Spyder中的按鍵綁定都是可配置的,包括用于除編輯器以外的其他窗格的按鍵綁定(例如繪圖視圖)。但是在這里,按鍵綁定只能在整個(gè)編輯器范圍內(nèi)進(jìn)行配置。對(duì)于單元測(cè)試,用戶將需要安裝一個(gè)單獨(dú)的模塊spyder-unittest,該模塊可與Python自己的unittest以及pytest和nose框架一起使用。

Spyder專注于數(shù)學(xué)和科學(xué),因此它出現(xiàn)在Anaconda中,但它也可以用于其他類型的開(kāi)發(fā)工作。

原文標(biāo)題:Review: 7 Python IDEs go to the mat,作者:Serdar Yegulalp

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2020-02-07 12:55:29

GolangPython人工智能

2019-02-21 09:00:00

PythonGolang編程語(yǔ)言

2022-05-26 08:01:29

PythonR編程語(yǔ)言

2020-05-14 10:35:18

物聯(lián)網(wǎng)標(biāo)準(zhǔn)物聯(lián)網(wǎng)IOT

2023-06-05 08:46:42

2021-01-13 10:40:42

編程語(yǔ)言PLCGraph

2013-11-08 14:57:37

2024-04-03 08:28:31

GolangPHP語(yǔ)言

2021-12-03 10:15:10

FlowTypescript開(kāi)發(fā)

2009-06-28 22:58:00

適合數(shù)據(jù)中心服務(wù)器

2011-12-07 20:43:33

2023-12-22 16:16:21

物聯(lián)網(wǎng)協(xié)議物聯(lián)網(wǎng)EnOcean

2024-10-24 20:48:04

Netty線程Java

2009-02-25 19:47:54

IT認(rèn)證思科認(rèn)證微軟認(rèn)證

2022-07-14 13:27:01

IT領(lǐng)導(dǎo)者云計(jì)算

2022-07-28 13:54:16

RPABPA自動(dòng)化項(xiàng)目

2019-04-30 10:24:24

混合云多云云計(jì)算

2022-08-10 15:59:58

云計(jì)算邊緣計(jì)算

2016-01-26 09:58:28

云存儲(chǔ)云服務(wù)云安全

2021-07-30 11:16:38

云存儲(chǔ)本地存儲(chǔ)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)