
要熟練使用python解決各種問題,開發工具必不可少,其中就包括IDE或者代碼編輯器,或者集成的開發編輯器(IDE),一個好的開發工具可以讓你事半功倍,接下來主要介紹python的一些常用的開發工具。
1 IDLE:Python自帶的IDE工具

IDLE(Integrated Development and Learning Environment),集成開發和學習環境,是Python的集成開發環境,純 Python 下使用
Tkinter
編寫的IDE。
- 支持平台:Windows, macOS, Linux
- 下載:https://www.python.org/downloads/
IDLE提供了一些針對初學者非常友好的功能,例如:
2 IPython:交互式計算系統

IPython主要包含三個組件:增加的交互式 “Python shell”,解耦的雙過程通信模型,交互式並行計算的架構。可以實現並行化計算,同時支持變量自動補全。使用
In [x]
和
Out [x]
表示輸入輸出IPython提供以下交互性功能:
IPython支持Python2.7版本或者3.3以上的版本,通過以下命令安裝IPython:
pip install ipython
3 PyCharm:JetBrains打造的Python IDE

PyCharm是一個跨平台的全功能Python開發工具,是由JetBrains打造的一款Python IDE (Integrated Development Environment,集成開發環境)。它有兩個版本,一個是免費的社區版本,另一個是面向企業開發者的更先進的專業版本。Pycharm是程序員常使用的開發工具,簡單、易用,並且能夠設置不同的主題模式。它還能與IPython notebook進行集成,並支持Anaconda及其他的科學計算包,比如matplotlib和NumPy。同時它支持很多的第三方web開發框架,比如Django、 Pyramid、web2py、google app engine 和 FlaskPyCharm具有一些可以幫助開發者提高效率的工具,比如智能代碼補全、調試、語法高亮、項目管理與導航、代碼跳轉、智能提示、圖形化的調試器和運行器、自動完成、單元測試、版本控制、遵循PEP8規范的代碼質量檢查、智能重構等。

- 支持平台:Windows、Mac 或 Linux 版本
- 下載:PyCharm: the Python IDE for Professional Developers by JetBrains
主要功能包括:
- 代碼分析與輔助功能,擁有補全代碼、高亮語法和錯誤提示,支持代碼折疊和分割窗口;
- 項目和代碼導航:專門的項目視圖,文件結構視圖和和文件、類、方法和用例的快速跳轉;
- 重構:包括重新命名,提取方法/超類,導入域/變量/常量、pull,push等;
- 支持Web框架: Django、Pyramid、web2py、google app engine和Flask;
- Google App Engine下的Python開發;
- 集成版本控制系統:為Mercurial,Git, Subversion, Perforce 和 CVS提供統一的用戶界面,擁有修改以及合並功能;
- PyCharm 配備了 1000 多個插件,程序員也可以編寫自己的插件來擴展其功能
4 Spyder:開源的python集成開發環境

Spyder Python是一個開源的python集成開發環境,非常適合用來進行科學計算方面的python開發,是用python開發的輕量級軟件,遵循MIT協議,可免費使用。
- 支持平台:Windows, macOS, Linux
- 下載:Home — Spyder IDE
Spyder有一個Editor(編輯器)用於編寫代碼,Console(控制台)可以評估代碼並且在任何時候都可以看到運行結果,Variable Explorer(變量管理器)可以查看代碼中定義的變量。

Spyder python的基本功能包括:
- 多語言編輯器:具有函數/類浏覽器的多語言編輯器,代碼分析功能(目前支持pyflakes和pylint),代碼完成,水平和垂直分割以及goto定義;
- 交互式控制台:Python或IPython控制台具有工作空間和調試支持,還帶有Matplotlib數字集成;
- 文件查看:顯示在編輯器或控制台中進行的任何類或函數調用的文檔;
- variable explorer(變量探索器): 浏覽在執行文件期間創建的變量
- 可以作為PyQT的擴展庫,可以嵌入到PyQT的應用中。
5 Jupyter:開源IDE,IPython的衍生品

Jupyter是一款開源IDE,IPython的衍生品,它的名字來自Julia、python、R三種語言的組合,主要是用來做數據科學。Jupyter家族有Jupyter Notebook、Jupyter Lab、Jupyter Hub三大產品,前兩者都是基於Web的交互式計算環境,Hub是服務器端的應用。
- 支持浏覽器:Chrome, Firefox, Safari等
- 下載:Project Jupyter | Home

Jupyter Notebook 的本質是一個 Web 應用程序,便於創建和共享程序文檔,支持實時代碼,數學方程,可視化和 markdown。 用途包括:數據清理和轉換,數值模擬,統計建模,機器學習等。
Windows打開Jupyter Notebook的方法:Win + R
打開運行窗口,輸入Jupyter Notebook,回車,就會默認在本地8888端口啟動一個web服務,並自動打開浏覽器,打開http://localhost:8888/tree
頁面,在這個頁面可以看到當前目錄下的所有文件夾以及ipynb
文件。


6 Anaconda:python數據科學平台(包管理)

Anaconda是一款python數據科學平台,安裝它後就默認安裝了python、IPython、集成開發環境Spyder和眾多的包和模塊。Anaconda包含了conda、Python在內的超過180個科學包及其依賴項,比如:numpy、pandas、TensorFlow、scipy等。

- 下載:Anaconda | Anaconda Distribution
- github上anaconda開發平台:Anaconda-Platform · GitHub

7 PTVS:github上的開源項目

PTVS (Python Tools for Visual Studio)在 IronPython Tools for Visual Studio的代碼基礎上進行了增強並添加了對Cython、集群的支持,以及諸如Numpy和Scipy這樣的新模塊。PTVS的主要特性包括:CPython、IronPython、Jython和PyPy;高級編輯功能如IntelliSense;多重構;內置REPL(read-eval-print loop)窗口;調試和分析功能等。
- 支持平台:Windows, macOS, Linux
- 下載:Download Visual Studio Code - Mac, Linux, Windows
- https://microsoft.github.io/PTVS/
Visual Studio Code(簡稱VS Code)是微軟開發的免費代碼編輯器,內置對JavaScript, TypeScript和Node.js的支持,還可以通過豐富的拓展支持 C++, C#, Java, Python, PHP, Go等語言的開發。通過安裝Python插件,VS Code可以變身為一款輕量級的Python IDE,具有豐富的功能,包括代碼高亮、自動補全、debug、調試、單元測試、notebook集成、網站開發等。

8 Eclipse + Pydev:跨平台的自由集成開發環境

Eclipse 是非常流行的 IDE,Eclipse with Pydev 允許開發者創建有用和交互式的 Web 應用。Pydev是一個運行在eclipse上的開源插件,PyDev 是 Eclipse 開發 Python 的 IDE,支持 Python,Jython和 IronPython 的開發。
- 支持平台:Windows, macOS, Linux
PyDev 具有許多功能,包括:

9 Eric:集成項目管理功能的 Python 集成開發環境

Eric是一個開源python代碼編輯器和集成開發環境,遵循GPL協議,免費使用。它是純python編寫的,基於Qt GUI並集成了強大的Scintilla 編輯器功能。它提供了一個可靠的插件管理系統,可以通過插件來擴展功能。Eric提供了所有的基礎功能,比如調用提示、代碼折疊、代碼高亮、類浏覽器、代碼覆蓋及分析等等。但是Eric的關鍵功能讓它有了與其他商業python IDE競爭的能力:
- 單元測試支持 – 已集成
- 多語言用戶界面,包括英語,德語,俄語,法語,捷克語,西班牙語,意大利語,土耳其語和中文
- 以插件的方式集成版本控制工具Subversion, Mercurial 和 Git

下載:The Eric Python IDE英國肯特大學計算機學院提供的鏡像網站進行下載:http://sourceforge.mirrorservice.org PyQt: http://sourceforge.mirrorservice.org/p/py/pyqt/PyQt5/ Eric: http://sourceforge.mirrorservice.org/e/er/eric-ide/eric6/stable/17.04.1/
10 Sublime Text:跨平台的、輕量級的代碼編輯器

Sublime- Text是一個用 C++ 和 Python 開發的跨平台 IDE。除了 Python 之外,它還提供對其他語言的支持。Sublime有自己的包管理器,開發者可以用來安裝組件,插件和額外的樣式。
- 支持平台:Windows、Linux、Mac OS 等操作系統
- 下載:sublime text 3 中文官網 - sublime text 1和sublime text 2中文版下載
- Sublime Text 使用手冊:Sublime Text 使用手冊_w3cschool
Sublime Text 的主要功能包括:
- 完整的 Python API
- 多重選擇(Multi-Selection)功能允許在頁面中同時存在多個光標
新手比較推薦的是Pycharm、Jupyter Notebook,前者是目前最受歡迎的Python IDE,可以進行專業的python項目開發,功能極為全面,後者是一款基於Web的Python工作台,適合做數據分析、機器學習、可視化、教學演示,對新手非常友好。