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