有哪些值得推薦的 Python 開發工具?


最開始學 Python 的時候,因為沒有去探索好用的工具,吃了很多苦頭。磕磕絆絆走過來之後才知道,好的工具給效率帶來的提升不是從 1 到 1.1 倍速,而是從 1 到 10 倍速。在這裡推薦 5 個幾乎每天都會用到的工具:

最強終端:Upterm

railsware/uptermgithub.com圖標

其實本來想推薦 fish 或者 zsh,但其實這兩個我也主要是貪圖自動補全這個特性。最近在用的這個 Upterm 其實很簡單好用,它是一個全平台的終端,可以說是終端里的 IDE,有著強大的自動補全功能。之前的名字叫 BlackWindow,有人跟他說這個名字不利於社區推廣,改名叫 Upterm 之後現在已經17000+ Star了。

互動式解釋器:Ptpython

jonathanslenders/ptpythongithub.com圖標

一個互動式的 Python 解釋器。支持語法高亮、提示甚至是 vim 和 emacs 的鍵入模式。其實我們在課程里提供的在線終端也內置了 ptpython。

包管理必備:Anaconda

https://anaconda.org/anaconda.org

真的要強烈推薦 Anaconda ,它能幫你安裝好許多麻煩的東西,包括: Python 環境、pip 包管理工具、常用的庫、配置好環境路徑等等。這些事情小白自己一個個去做的話,容易遇到各種問題,帶來挫敗感。

如果你想用 Python 搞數據方面的事情,就安裝它就好了,它甚至開發了一套 JIT 的解釋器 Numba。所以 Anaconda 有了 JIT 之後,對線上科學計算效率要求比較高的東西也可以搞了。

編輯器:Sublime3

A sophisticated text editor for code, markup and prosewww.sublimetext.com

無意引發編輯器大戰,小白的話當然還是要從 PyCharm 開始上手,但有時候寫一些輕量的小腳本,就會想用輕量級一點的工具。

今年用了一圈各種編輯器,發現 Sublime 更新了真·無雙·三·零版本之後,很多地方都有了極大的提升(尤其是大家比較關心的顏值),並且用起來比原來還要簡單。配合安裝 Anaconda 或 CodeIntel 插件 ,就可以讓 Sublime 擁有近乎 IDE 的體驗。

另外我覺得有一個對於強迫症很重要的,就是 Sublime 的字體顏色渲染,像 VSCode Atom 類 的編輯器我總會覺得顏色會有點發烏、不鮮艷,就像在 PS 做的圖拿到瀏覽器里會不一樣,長時間看會不舒服甚至想吐……

Sublime 是編輯器裡面更像 IDE 的,比較輕量。

前端在線編輯器:CodeSandbox

https://codesandbox.io/codesandbox.io

雖然這個不算是 Python 開發工具,但如果後端工程師想寫前端的話,這個在線編輯器太方便了,簡直是節省了後端工程師的生命啊!不用安裝 npm 的幾千個包了,它已經在雲端完成了,采讓你直接就可以上手寫代碼、看效果。對於 React、Vue 這些主流前端框架都支持。

先寫這麼多,如果大家喜歡,之後再持續更新這篇精選集。


如果你看別的 Python 教程看不懂、學不會,那你可以試試 讓小白學上癮的編程入門課-麻瓜編程


Python Tutor

Python Tutor 是由 Philip Guo 開發的一個免費教育工具,可幫助學生攻克編程學習中的基礎障礙,理解每一行源代碼在程序執行時在計算機中的過程。通過這個工具,教師或學生可以直接在 Web 瀏覽器中編寫 Python 代碼,並逐步可視化地運行程序。如果你不知道代碼在內存中是如何運行的,不妨把它拷貝到Tutor里可視化執行一遍,加深理解。

地址:http://www.pythontutor.com/

IPython

IPython 是一個 for Humans 的 Python 互動式 shell,用了它之後你就不想再用自帶的 Python shell 了,IPython 支持變數自動補全,自動縮進,支持 bash shell 命令,內置了許多實用功能和函數,同時它也是科學計算和交互可視化的最佳平台。在公眾號【Pyhon之禪】回復 「ipython」 獲取《IPython互動式編程和數據可視化教程》。

地址:https://ipython.org/

Jupyter Notebook

Jupyter Notebook 就像一個草稿本,能將文本注釋、數學方程、代碼和可視化內容全部組合到一個易於共享的文檔中,以 Web 頁面的方式展示。它是數據分析、機器學習的必備工具。在公眾號【Pyhon之禪】回復 「jupyter」 給你看一個基於 jupyter 寫的 Python 教程。

地址:http://jupyter.org/

Anaconda

Python 雖好,可總是會遇到各種包管理和 Python 版本問題,特別是 Windows 平台很多包無法正常安裝,為了解決這些問題,Anoconda 出現了,Anoconda 包含了一個包管理工具和一個Python管理環境,同時附帶了一大批常用數據科學包,也是數據分析的標配。之前在公眾號有介紹過 Anaconda

地址:https://www.anaconda.com/

Skulpt

Skulpt 是一個用 Javascript 實現的在線 Python 執行環境,它可以讓你輕鬆在瀏覽器中運行 Python 代碼。使用 skulpt 結合 CodeMirror 編輯器即可實現一個基本的在線Python編輯和運行環境。

地址:http://www.skulpt.org/


前提:用來做數據處理和相關的系統開發

剛學python時,面對簡陋的官方版idle和一大堆開發平台和發行版,不知道究竟如何下手。在進行多方嘗試後,我最後的選擇是Anaconda + Pycharm,用anaconda集成的ipython做工作台,做一些分析和小段程序調試的工作,用Pycharm寫相應腳本和程序包的開發。這兩個工具都是跨平台的,也都有免費版本。

具體來說Anaconda集成了幾乎所有我需要的包庫,包含了我整個工作流程,做數據分析的pandasscipy
umpy、繪圖的matplotlib、讀寫Excel文檔的xlrd/xlwt,鏈接SQL資料庫的SQLalchemy、機器學習框架sklearn等。對於Anaconda集成的兩個工作平台,Spyder——一個類似於Matlab和Rstudio的IDE,是專註於面向數據的分析的,因為其特點也主要是數據區的存在,可以即時知道變數值的變化;Ipython——一個基於cell的shell界面,可以理解為python自帶shell的增強版,它將程序分成一塊一塊的cell,每個cell可以包含多條語句,可以單獨調試運行,並將結果保存在內存中,cell之間可以相互調用,並保持一定的相互獨立。

可以說有了anaconda自帶的這兩個工具,足夠做數據處理相關的工作了(本身anaconda就是一個為了數據科學而誕生的發行版),但如果涉及到腳本程序和包的開發,感覺spyder還是有點弱,在試過IDE,代碼編輯器(比如visual code、sublime等)+插件,這兩種方案後,我最後選擇了集成度更高的成熟IDE——Pycharm替換spyder作為主要的開發平台,看我頭像也可以知道我是一個噴氣大腦的死忠,他們家的IDE真的很好用~理由如下:

1、首先作為學生,可以通過edu郵箱申請到Jetbrains全家桶,即便無法獲取授權,pycharm的community版本免費並且功能足夠

2、對於pycharm,可以方便快捷地切換python不同版本的解釋器,甚至可以安裝相同版本的python解釋器配置不同的開發環境,這可以解決有些包之間衝突的情況,也可以針對有些框架按需裝包;並且pycharm內置包管理,可以免去pip或者conda方式管理包。

3、pycharm這個IDE的顏色方案、拼寫補全、函數聯想、函數跳轉源代碼、斷點調試及debug等功能都讓我用的十分順手。

總之我現在的工作流程就是,先用對我需要的功能進行設計,而後在ipython界面下設計調試每個功能模塊,調試成功後放到pycharm中組合起來,寫成腳本文件,最後用pycharm做調試形成成品。

2017、10、25 補充:

Pycharm作為IDE還有兩個功能值得使用,一個是可以結合unitest包做我們開發模塊的單元測試,另一個就是與svn、git等版本工具合作進行我們程序的版本控制,此外,在最新版的pycahrm當中,除了左側摺疊顯示程序層次,下方也有我們當前游標所在位置對應的層次,並可以方便進行跳轉。

總之,用pycharm寫python真是越用越順手~

2017、11、16補充

jupyter也是超好用的一個工具,而且jupyter不僅僅時一個可視化的python加強版命令行工具,還可以用來處理R。在我最新嘗試使用的Sage(一個基於python的數學平台)在windows端也是使用jupyter作為交互平台的。需要補充的就是jupyter平台的tab鍵,有點類似於ide的聯想輸入和對象的方法聯想,可以善加利用。


vim+ Pydiction 可以試試git clone https://github.com/alp333yue/vim.git簡單替換即可配置好。

或者

sublime text 對python支持挺好,輕量級生化武器。

eclipse+pydev比較厚重,大型開發比較適合。


看來知乎上程序員太多了,幾十個答案里竟然沒有Anaconda。

這個是做數據分析的利器。


推薦使用WingIDE Python IDE for Python Developers

1 安裝

WingIDE本身不包含Python,故需要先安裝你所需的Python。

從官方網站下載安裝包,一路Next即可。

WingIDE是共享軟體,未付費有使用時間的限制。

但是WingIDE本身是用Python寫的,因此在使用方法上有無限可能。

如果想對軟體本身作改動,請務必遵守《計算機軟體保護條例》國務院關於修改《計算機軟體保護條例》的決定

WingIDE是跨平台的,適用於Windows,OSX和較新版本的Linux。

2 使用

2.1 交互模式

很多教程中使用Python的交互模式展示示例代碼。

WingIDE自帶一個Python提示符,而且有很貼心的語法高亮與自動提示:

而且這個交互模式支持Ctrl+C/Ctrl +V,

被Windows命令提示符詭異的操作折磨的不行了的同學有福音了!

2.2 程序模式

WingIDE 是一個完備的集成開發環境。所謂集成開發環境,是指包含文本編輯、調試、項目管理等多功能的開發軟體。在一個軟體內部就能夠進行所有的開發工作。

比如一個簡單的Python程序,在代碼編輯區里輸入代碼,保存,然後按工具欄中紅圈裡的運行按鈕。程序的輸出會顯示在Debug I/O里。

對於輸入也沒有問題。Debug I/O窗口會閃爍提示。這個窗口也支持標準的複製粘貼快捷鍵。

當然,智能提示是最愛。當你鍵入已有函數、變數之後,WingIDE會自動提示進行補全:下圖是內置函數raw_input

下圖是你自己剛剛定義的變數

2.3 調試

WingIDE 支持很方便的下斷點、觀察變數。既可以在Watch窗口裡註冊你想要看的變數,也可以把滑鼠放在變數上面直接看值。

2.4 錯誤和異常處理

如果程序有語法錯誤,WingIDE會直接在你錄入程序時提示錯誤:

如果有運行時錯誤,WingIDE會暫停到錯誤所在的位置,並進入調試模式:

3 局限性

由於Python靜態解析本身的困難。做到某些C++ IDE那樣的智能提示是很難的。

此外,由於是閉源軟體,在某些Linux平台上不一定能夠啟動。


Python集成開發工具

https://zhuanlan.zhihu.com/p/21325469

黃哥推薦Python集成開發工具

學習Python建議用以下開發工具,請根據自己的喜好,選擇一種。

分2種

第一種是編輯器

1、vim

2、atom

3、sublime text

4、Visual Studio Code

第二種是python集成開發環境(ide)

1、pycharm python集成開發環境, 有免費版。

2、wingide python集成開發環境, 有免費版。

3、liclipse python集成開發環境,免費。


作為知乎唯一用IDE的傢伙,真不好意思推薦吶,我用的是pycharm+vim插件,強大的集成,讓你不用考慮各種各樣vim般的配置,使用其自身代碼錯誤檢測、風格檢測,代碼閱讀,外加vim插件使用基本vim操作,提高編碼效率,完全夠用了


sublime+python插件足矣。調試直接命令 pdb, 運行直接command+B.


說說我的情況。

如果只是編輯器,一般是ulipad配合vim(Linux)和notepad++(windows,較少用)。我也不太熟練vim,不過配置一些插件還是很好用的。

如果要IDE,eclipse+pydev和pycharm都用過,個人感覺前者較後者稍笨重,不過好處在於免費。pycharm是一款強大的python IDE,除一些一般IDE都具有的功能,pycharm還非常適合用於django開發,同時支持Google App Engine。不過pycharm需要註冊,有30天免費使用期。

另外還強烈推薦 ipython, 簡單的說明就是一個powerful Python shell。

可以看看開源中國上的介紹:http://www.oschina.net/project/tag/120/python-development-t?lang=0os=0sort=view


Python開發工具有挺多的,我覺得比較好用的是以下10款,推薦給大家,不喜歡的勿噴。

據權威機構統計,Python人才需求量每日高達5000+,但目前市場上會 Python 的程序員少之又少, 競爭小,很容易快速高薪就業。可能你並不太了解常用的十大Python開發工具都有哪些,現在告訴你。

1.Micro Python

Micro Python基於ANSI C,語法跟Pyton 3基本一致,擁有自家的解析器、編譯器、虛擬機和類庫等。目前支持基於32-bit的ARM處理器,比如說STM32F405。

藉助它,用戶完全可以通過Python腳本語言實現硬體底層的訪問和控制,如控制LED燈泡、LCD顯示器、讀取電壓、控制電機、訪問SD卡等。

2.PyCharm

它是由JetBrains打造的一款Python IDE,用於一般IDE具備的功能。比如, 調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制……

另外,PyCharm還提供了一些很好的功能用於Django開發,同時支持Google App Engine,更酷的是,PyCharm支持IronPython!

3.Eclipse

它是著名的跨平台的自由集成開發環境(IDE)。最初主要用來Java語言開發,但是目前亦有人通過插件使其作為其他計算機語言比如C++和Python的開發工具。

4.Spyder

它前身是 Pydee,是強大的互動式 Python 語言開發環境,提供高級的代碼編輯、交互測試、調試等特性,支持包括 Windows、Linux 和 OS X 系統。

5.Codimension

它是個Python 集成開發環境,提供了包括代碼編輯和基於圖表的代碼分析功能。

6.PTVS

PTVS (Python Tools for Visual Studio) 是一個開源項目,採用Apache 2.0許可發布。PTVS的主要特性包括:CPython、IronPython、Jython和PyPy;高級編輯功能如IntelliSense;多重構;內置REPL(read-eval-print loop)窗口;調試和分析功能,等等。

7.Rodeo

它是一個以數據為中心的 Python 集成開發環境,基於 Web 瀏覽器使用。

8.QPython

它是一個在Android上運行Python腳本引擎,他整合了Python解釋器、Console、編輯器和SL4A庫。可以讓你在Android設備上運行Python語言開發的程序。它就是Android上的Python!

此外,它提供開發工具,讓你在Android設備上方便地開發Python項目。

9.NetBeans

它是開源軟體開發集成環境,是一個開放框架,可擴展的開發平台,可以用於 Java,C/C++,PHP 等語言的開發,本身是一個開發平台,可以通過擴展插件來擴展功能。

10.PyPy

它是Python開發者為了更好的Hack Python創建的項目。此外,PyPy比CPython是更加靈活,易於使用和試驗,以制定具體的功能在不同情況的實現方法,可以很容易實施。

Python語言這兩年是越來越火了,它慢慢崛起也是有原因的。比如市場需求、入門簡單易學、支持多種語言……

常用的十大Python開發工具就是以上這些,希望對你的Python學習有所幫助!早日成為Python大神!


ipython

不是編輯器,但確實非常有用


推薦除IDE以外的工具:

virtualenv

pip

dreampie


bpython 不錯

windows 下可以用 notepad++, ulipad,都可以進行簡單的調試


IDE

  • PyCharm

  • IPython
  • Eclipse + PyDev

Package

  • numpy
  • scipy
  • pandas
  • matplotlib

Collection of Packages

  • Anaconda


pyzo,仿spyer風格,帶中文界面,支持函數提示和自動補全。而且輕量級,安裝包20M不到,啟動快。不過沒有工具欄,要熟練掌握ctrl+s(保存),e(代碼運行),r(行轉注釋)。


windows系統里有哪些值得用的python集成編譯器?


PyScripter


Pycharm+Anaconda

學生免費用pycharm pro, Anaconda用來管理不同的環境。


開發幾百行代碼的時候,一般也就是單個腳本文件,原生IDLE足矣。

開發幾千行代碼以上的時候,最好找個功能齊全的IDE,比如pycharm。

推薦pycharm+anaconda2+python2.7(用了八年python2,很不情願改用python3)


推薦閱讀:

Python零基礎初學者教程推薦哪個?
python如何查看某一個包中的某一個函數的使用方法?
python 用list of lists表示矩陣的問題?
python 能否print到console固定一行?
期權的高頻交易回測平台怎麼編寫?

TAG:Python | PythonIDE | Python開發 |