評(píng)估2020年排名前8的Python IDE
您使用的IDE可以在編程時(shí)完全改變您的體驗(yàn)。 尤其是在學(xué)習(xí)的初期,如果您使用的IDE不能解決您面臨的問(wèn)題,那么您會(huì)發(fā)現(xiàn)這非常具有挑戰(zhàn)性。
最好的情況是,編程是創(chuàng)造力的體現(xiàn),因?yàn)槲覀冏鳛檠芯咳藛T,正在努力解決重大問(wèn)題。 正是這種創(chuàng)造力的表達(dá)使我們一直想解決問(wèn)題,因此我們需要出色的工具來(lái)做到這一點(diǎn)。
IDE(集成開(kāi)發(fā)環(huán)境)是一種軟件應(yīng)用程序,為程序員提供了進(jìn)行軟件開(kāi)發(fā)的便利。
這就是Microsoft Word對(duì)作家的意義。 這就是Adobe Photoshop對(duì)創(chuàng)作者的意義。 這是我們工作的地方。
我自己的編程生涯始于多年使用IDLE,然后進(jìn)入Sublime Text Editor,然后是PyCharm,然后是Notebooks。 但是,下面列出了許多其他IDE,值得探討。
在下面的文章中,我將介紹以下IDE,并根據(jù)自己的觀點(diǎn)給每個(gè)IDE評(píng)分。 如果您不同意,請(qǐng)告訴我!
- IDLE (5/10)
- Jupyter Notebooks (7/10)
- PyCharm (9/10)
- Sublime (6/10)
- Spyder (4/10)
- Atom (7/10)
- Eric (8/10)
- VScode (8.5/10)
IDLE
當(dāng)我開(kāi)始編程時(shí),IDLE是我的第一個(gè)開(kāi)發(fā)環(huán)境。 我很喜歡它,因?yàn)樗呀?jīng)部分安裝在我的計(jì)算機(jī)上,并且易于使用。
我的本地Python IDLE IDE
作為一個(gè)初學(xué)者,您希望能夠很快看到自己的工作成果,而命令行界面就可以做到這一點(diǎn)。 通過(guò)將IDE用作準(zhǔn)計(jì)算器和準(zhǔn)腳本運(yùn)行程序,意味著我可以實(shí)際看到自己正在創(chuàng)建的內(nèi)容,并且可以看到代碼的每一行都很重要。
現(xiàn)在,IDLE代表“集成開(kāi)發(fā)和學(xué)習(xí)環(huán)境”。 它使用100%純Python(使用tkinter)進(jìn)行編碼,并且是跨平臺(tái)的:在Windows,Unix和macOS上的工作原理基本相同。 它的功能是最基本的,但包括:
- 代碼輸入,輸出和錯(cuò)誤消息的著色
- 具有多個(gè)撤消、智能縮進(jìn)、呼叫提示、自動(dòng)完成和其他功能的多窗口文本編輯器
- 具有持久斷點(diǎn)、步進(jìn)以及查看全局和本地名稱空間的調(diào)試器
如果您剛開(kāi)始編程,那么我強(qiáng)烈建議您使用IDLE,因?yàn)槟芸炀蜁?huì)發(fā)現(xiàn)自己的工作成果,并且作為一個(gè)初學(xué)者,您只希望能夠快速構(gòu)建,快速失敗并進(jìn)行迭代。
但是,如果您想構(gòu)建任何實(shí)質(zhì)性的東西,它所提供的功能都會(huì)受到一些限制。 稍后您會(huì)看到您的IDE應(yīng)該適合您所擁有的項(xiàng)目類型(我將通用編碼分為科學(xué)計(jì)算或生產(chǎn)軟件),而IDLE介于兩者之間。 代碼調(diào)試,項(xiàng)目管理,快速搜索,可視化顯示(以及更多)都是我們?cè)诰幋a和IDLE不能提供足夠多的方式時(shí)定期完成的任務(wù)。
鑒于此,我給它的分?jǐn)?shù)是5/10。 易于使用,但不算昂貴。
對(duì)于常用圖形化展示的編程者:Jupyter Notebooks
現(xiàn)在,如果您想以更結(jié)構(gòu)化的方式工作(我認(rèn)為與大多數(shù)數(shù)據(jù)科學(xué)社區(qū)一起工作),我強(qiáng)烈建議您使用Jupyter Notebooks。
Jupyter在您的瀏覽器中運(yùn)行,并且超輕量級(jí)。 其目的是在報(bào)告(如框架)中呈現(xiàn)和構(gòu)建代碼框架,這在美學(xué)上非常令人滿意。 它的界面實(shí)際上與Mathematica和SageMath非常相似,但是已經(jīng)變得越來(lái)越流行。
我本地筆記本的屏幕截圖
從功能上講,Jupyter確實(shí)有局限性,并且您無(wú)法在生產(chǎn)環(huán)境中真正使用在這里制作的任何東西(除非您將其運(yùn)送到.py文件中),因?yàn)镴upyter Notebook是使用JSON框架構(gòu)建的,因此您需要用于任何目的的python文件你想帶走。而且,筆記本電腦真正缺乏的是缺乏研究和更多軟件工程的廣泛功能。
進(jìn)行版本控制。使用筆記本電腦并不是一件真正的事情(至少不是很自然)。例如,如果您要共享一些代碼,則可以發(fā)送筆記本:但是,如果您一邊更新某些內(nèi)容,又或者您的同事在他們身邊更新某些內(nèi)容,您又必須繼續(xù)發(fā)送筆記本嗎?而且,自動(dòng)完成,自動(dòng)代碼重構(gòu),代碼概要分析,版本控制集成和數(shù)據(jù)庫(kù)工具等功能都是您在Notebook中無(wú)法獲得的。但是你在乎嗎?
歸根結(jié)底,這取決于您使用IDE的方式。對(duì)我來(lái)說(shuō),我使用筆記本電腦比其他任何東西都多,因?yàn)槲倚枰梢暬Y(jié)果并且需要以可管理的方式持續(xù)監(jiān)視它們??紤]到我在使用筆記本電腦時(shí)的舒適度,并且它非常專注于研究,而很少關(guān)注生產(chǎn)(如果有的話),那么將其評(píng)分在基于生產(chǎn)的任務(wù)上是徒勞的,因此,作為純研究開(kāi)發(fā)環(huán)境,Notebook很棒,分?jǐn)?shù)為 8/10。
對(duì)于商用用戶:PyCharm
PyCharm是一個(gè)IDE,旨在使Python編程盡可能高效。 從搜索整個(gè)存儲(chǔ)庫(kù),到調(diào)試再到部署,PyCharm在構(gòu)建時(shí)都考慮了程序員。 放心使用:PyCharm是一款出色的IDE。
正如我之前所說(shuō),每個(gè)人的編碼都有些不同,但是對(duì)我來(lái)說(shuō),我使用PyCharm來(lái)編碼我的生產(chǎn)軟件。原因是調(diào)試,測(cè)試,性能分析,集成之類的任務(wù)以及創(chuàng)建生產(chǎn)級(jí)代碼所涉及的所有其他任務(wù)都可以直接使用。實(shí)際上,您幾乎不需要設(shè)置。
例如,PyCharm甚至還具有重新格式化代碼以使其更具可讀性的快捷方式。我對(duì)此深有感觸,因此很高興看到PyCharm的工程師也如此。
注意:PyCharm確實(shí)有社區(qū)版和專業(yè)版,如果您負(fù)擔(dān)得起的話,專業(yè)版是值得的。但是,社區(qū)版仍然很棒,建議您學(xué)習(xí)使用它。
現(xiàn)在,PyCharm很難適應(yīng)。我認(rèn)為自己最好的編碼器,甚至花了我很長(zhǎng)時(shí)間才能完全掌握調(diào)試信息。這并不是說(shuō)特別困難:PyCharm具有如此多的功能,有時(shí)您會(huì)感到不知所措。
但是,隨著時(shí)間的流逝,您將了解到更多有關(guān)PyCharm的信息,最終,如果沒(méi)有它,您將無(wú)法生存。我在PyCharm和Notebooks之間共生,這對(duì)我來(lái)說(shuō)非常有效。 PyCharm甚至有一個(gè)新的本地筆記本工具(我承認(rèn)我并沒(méi)有花太多時(shí)間)。鑒于PyCharm可以做任何您想做的事,而且不會(huì)在任何地方偷工減料,我確實(shí)認(rèn)為它很棒,因此,我給它9/10。
VSCode
VSCode是由Microsoft開(kāi)發(fā)的免費(fèi)開(kāi)放源代碼編輯器。本機(jī)支持幾種語(yǔ)言,但是通過(guò)擴(kuò)展,您可以添加Microsoft Python。
這是有趣的地方。
VSCode旨在具有廣泛的功能集,因此PyCharm是其自然的競(jìng)爭(zhēng)對(duì)手。兩者都具有智能代碼完成,全文搜索,語(yǔ)法突出顯示和括號(hào)匹配,Git集成,代碼格式和代碼整理,調(diào)試等功能。
但是,PyCharm擠滿了所有功能,因此,它以很高的內(nèi)存要求運(yùn)行:VSCode的運(yùn)行空間減少了約30%!
此外,PyCharm是JetBrains家族的一部分,因此,插件必須在很大程度上通過(guò)JetBrains家族,目前在其網(wǎng)站上已有3000多個(gè)插件。另一方面,VSCode被設(shè)計(jì)為準(zhǔn)系統(tǒng)編輯器,可通過(guò)其擴(kuò)展程序制成完整的IDE。鑒于其開(kāi)發(fā)方式,這意味著VSCode可以為用戶輕松定制。
這一點(diǎn)很重要,因?yàn)閂SCode確實(shí)具有所有功能的擴(kuò)展。我研究了Docker容器使用的便利性以及IPython Notebook擴(kuò)展,并且兩者都對(duì)這兩種IDE都很滿意。 Event Reddit無(wú)法確定哪個(gè)更好。
PyCharm實(shí)際上是完整的生產(chǎn)軟件,如果您的計(jì)算機(jī)不太受內(nèi)存需求的困擾,那可能是更好的選擇,僅因?yàn)樗切袠I(yè)標(biāo)準(zhǔn),但是,如果您更喜歡輕便和通用的產(chǎn)品,VSCode就是很好的選擇。
很棒,而且會(huì)隨著時(shí)間的推移而成熟:8.5 / 10。
其他Python IDE
1. Sublime
Sublime是一種文本編輯器,可跨越PyCharm和IDLE之間的鴻溝。它具有許多令人印象深刻的技巧,例如多項(xiàng)選擇,分割編輯,出色的性能,并且是跨平臺(tái)的。但是,與PyCharm相比,其功能的廣度無(wú)濟(jì)于事。
初次接觸Sublime時(shí),您會(huì)發(fā)現(xiàn)自己喜歡其中的編碼感覺(jué)。一切運(yùn)行迅速,并且在其中編寫(xiě)很多代碼非常容易。這讓我希望IDLE實(shí)際上會(huì)使用Sublime提供的更多功能,但是對(duì)我來(lái)說(shuō),Sublime有點(diǎn)不足,因?yàn)樗皇潜緳C(jī)Python IDE。
例如,您不能像說(shuō)PyCharm那樣真正地進(jìn)行逐步調(diào)試。一段時(shí)間后,這會(huì)變得非常令人沮喪,尤其是當(dāng)您的項(xiàng)目處于工業(yè)規(guī)模時(shí)。您總是會(huì)發(fā)現(xiàn)自己回到PyCharm的其中一項(xiàng)功能或另一項(xiàng)功能。
鑒于它絕對(duì)破壞了編碼的美感,因此在該方面會(huì)獲得很高的評(píng)價(jià),但是由于您在功能方面有很多苦惱,因此也會(huì)受到影響。與我說(shuō)的筆記本相比,它與PyCharm的可比性更高,因此,我必須給它6/10。
2. Spyder
在視覺(jué)上,Spyder與Matlab一樣可怕。它在右上角具有相同的變量資源管理器框架,在右下角具有圖表的位置,在左側(cè)具有編碼窗格。它旨在用于使用Python的科學(xué)計(jì)算中,這體現(xiàn)在其功能,包裝和IDE的整體性能上。但是,對(duì)我來(lái)說(shuō),與筆記本電腦或PyCharm相比,產(chǎn)品的整體感覺(jué)通常很笨拙。
3. Atom
現(xiàn)在,Atom是我沒(méi)有用過(guò)的東西,但已經(jīng)閱讀了有關(guān)它的精彩評(píng)論。 Atom稱自己為“ 21世紀(jì)可入侵的文本編輯器”。它由GitHub維護(hù),因此您可以想象它可以做幾乎您可以想象的任何事情。但是,Atom并不是真正的輕量級(jí)(大約400MB(包括其依賴項(xiàng))),但是即使對(duì)于較弱系統(tǒng)的程序員來(lái)說(shuō),只要您可以占用內(nèi)存,它也可以正常運(yùn)行!
現(xiàn)在總而言之,Atom在開(kāi)始時(shí)看起來(lái)很棒,您可以使用它,而不用說(shuō)Sublime或IDLE。但是,Atom可與許多插件一起使用,因此在您學(xué)習(xí)時(shí),加載,安裝和搜索這些插件很有意義。這樣可以幫助您理解每個(gè)元素的重要性,而不是像在PyCharm中那樣被深深吸引。
鑒于此,Atom易于使用且對(duì)初學(xué)者友好,因此,如果您正在考慮使用Sublime,那么絕對(duì)值得嘗試使用Atom,因此得分 7/10。
4. Eric
Eric被設(shè)計(jì)為日常編輯器,并且可用作專業(yè)的項(xiàng)目管理工具。它提供了強(qiáng)大的功能,因?yàn)樗梢栽诖a上進(jìn)行實(shí)時(shí)協(xié)作(有多棒?),并且包括一個(gè)插件系統(tǒng),可以通過(guò)從Internet下載的插件輕松擴(kuò)展IDE功能。
現(xiàn)在,IDE有點(diǎn)忙,但是它包含了很多功能。它支持標(biāo)準(zhǔn)任務(wù),例如代碼折疊,代碼完成,花括號(hào)匹配。它還具有集成的類瀏覽器和強(qiáng)大的代碼調(diào)試器。它還支持單元測(cè)試,并且可以調(diào)試多線程和多處理程序。而且,它本地支持版本控制軟件(例如Mercurial和SVN版本控制),并且Git通過(guò)插件支持。
鑒于其功能集的廣泛性以及您如何輕松地使用插件擴(kuò)展它,您需要將其與PyCharm進(jìn)行比較。但這種比較的問(wèn)題在于PyCharm太好了:是IDE的Barcelona Fc或Michael Jordan。鑒于已投入PyCharm的資源,Eric會(huì)努力變得更好。
即便如此,埃里克(Eric)可能很難下定決心,但是一旦踏上第一步,它就會(huì)變得非常好,得分 8/10。
鑒于此,如果您剛開(kāi)始編寫(xiě)代碼,則應(yīng)該真正看一下要完成的項(xiàng)目。如果您想建立一些時(shí)髦的深度學(xué)習(xí)網(wǎng)絡(luò)并研究最新技術(shù),Jupyter筆記本電腦將非常適合您,通常來(lái)說(shuō),它是研究用途最廣泛的界面。
但是,如果您打算為客戶端部署軟件,并且需要一些可以24/7全天候工作的強(qiáng)大代碼,那么使用PyCharm絕對(duì)是更好的選擇。您需要廣泛的功能以及與各種數(shù)據(jù)庫(kù)或版本控制系統(tǒng)或庫(kù)的集成,因此PyCharm可以使所有這些操作變得非常簡(jiǎn)單。喊出VSCode,它也非常好,可擴(kuò)展且免費(fèi)!
您選擇的IDE確實(shí)非常重要,因?yàn)楦鶕?jù)您期望的編碼方式,IDE可能會(huì)使您變得更容易或更困難。長(zhǎng)期以來(lái),由于我使用的是IDLE而不是Jupyter Notebooks之類的東西,所以我的研究受到了阻礙。我?guī)缀跞挤艞壛薖ython,并長(zhǎng)時(shí)間使用了Matlab,因?yàn)橛肕atlab編寫(xiě)代碼感覺(jué)更加自然了。