強(qiáng)推 10 款 Python 常用的開發(fā)工具(常用的python開發(fā)工具有哪些)
要熟練使用 Python 解決各種問題,開發(fā)工具必不可少,其中就包括 IDE 或者代碼編輯器,或者集成的開發(fā)編輯器(IDE),一個(gè)好的開發(fā)工具可以讓你事半功倍,接下來(lái)主要介紹 python 的一些常用的開發(fā)工具。
1 IDLE:Python 自帶的 IDE 工具
IDLE(Integrated Development and Learning Environment),集成開發(fā)和學(xué)習(xí)環(huán)境,是 Python 的集成開發(fā)環(huán)境,純 Python 下使用 Tkinter 編寫的 IDE。
- 支持平臺(tái):Windows, macOS, Linux
- 適合人群:初學(xué)者
- 支持語(yǔ)言:Python
IDLE 提供了一些針對(duì)初學(xué)者非常友好的功能,例如:
- 語(yǔ)法高亮
- 多窗口文本編輯器
- 程序動(dòng)畫或步進(jìn)(指一次執(zhí)行一行代碼)
- 段落縮進(jìn)
- TABLE 鍵控制
- 斷點(diǎn)可用于簡(jiǎn)化調(diào)試
- 調(diào)用堆棧清晰可見
2 IPython:交互式計(jì)算系統(tǒng)
IPython 主要包含三個(gè)組件:增加的交互式 “Python shell”,解耦的雙過程通信模型,交互式并行計(jì)算的架構(gòu)??梢詫?shí)現(xiàn)并行化計(jì)算,同時(shí)支持變量自動(dòng)補(bǔ)全。使用In [x]和Out [x]表示輸入輸出
IPython 提供以下交互性功能:
- 代碼著色
- 變量自動(dòng)補(bǔ)全,自動(dòng)縮進(jìn)
- 支持 bash shell 命令
- 強(qiáng)大的交互式 shell
- Jupyter 內(nèi)核
- 交互式的數(shù)據(jù)可視化工具
- 靈活、可嵌入的解釋器
- 易于使用,高性能的并行計(jì)算工具
- 使用%run命令運(yùn)行腳本
- 使用%timeit命令快速測(cè)量時(shí)間
- 使用%pdb命令快速 debug
IPython 支持 Python2.7 版本或者 3.3 以上的版本,通過以下命令安裝 IPython:
pip install ipython
復(fù)制代碼
3 PyCharm:JetBrains 打造的 python IDE
PyCharm 是一個(gè)跨平臺(tái)的全功能 Python 開發(fā)工具,是由 JetBrains 打造的一款 Python IDE (Integrated Development Environment,集成開發(fā)環(huán)境)。它有兩個(gè)版本,一個(gè)是免費(fèi)的社區(qū)版本,另一個(gè)是面向企業(yè)開發(fā)者的更先進(jìn)的專業(yè)版本。
Pycharm 是程序員常使用的開發(fā)工具,簡(jiǎn)單、易用,并且能夠設(shè)置不同的主題模式。它還能與 IPython notebook 進(jìn)行集成,并支持 Anaconda 及其他的科學(xué)計(jì)算包,比如 Matplotlib 和 Numpy。同時(shí)它支持很多的第三方 web 開發(fā)框架,比如 Django、 Pyramid、web2py、Google App Engine 和 Flask
PyCharm 具有一些可以幫助開發(fā)者提高效率的工具,比如智能代碼補(bǔ)全、調(diào)試、語(yǔ)法高亮、項(xiàng)目管理與導(dǎo)航、代碼跳轉(zhuǎn)、智能提示、圖形化的調(diào)試器和運(yùn)行器、自動(dòng)完成、單元測(cè)試、版本控制、遵循 PEP8 規(guī)范的代碼質(zhì)量檢查、智能重構(gòu)??????等。
- 支持平臺(tái):Windows、Mac 或 Linux 版本
- 下載:PyCharm: the Python IDE for Professional Developers by JetBrains
- PyCharm社區(qū)版本下載
主要功能包括:
- 代碼分析與輔助功能,擁有補(bǔ)全代碼、高亮語(yǔ)法和錯(cuò)誤提示,支持代碼折疊和分割窗口;
- 項(xiàng)目和代碼導(dǎo)航:專門的項(xiàng)目視圖,文件結(jié)構(gòu)視圖和和文件、類、方法和用例的快速跳轉(zhuǎn);
- 重構(gòu):包括重新命名,提取方法/超類,導(dǎo)入域/變量/常量、pull,push 等;
- 支持 Web 框架: Django、Pyramid、web2py、google app engine 和 Flask;
- 集成 Python 調(diào)試器;
- 集成單元測(cè)試,按行覆蓋代碼;
- Google App Engine 下的 Python 開發(fā);
- 集成版本控制系統(tǒng):為 Mercurial,Git, Subversion, Perforce 和 CVS 提供統(tǒng)一的用戶界面,擁有修改以及合并功能;
- PyCharm 配備了 1000 多個(gè)插件,程序員也可以編寫自己的插件來(lái)擴(kuò)展其功能
4 Spyder:開源的 python 集成開發(fā)環(huán)境
Spyder Python 是一個(gè)開源的 python 集成開發(fā)環(huán)境,非常適合用來(lái)進(jìn)行科學(xué)計(jì)算方面的 python 開發(fā),是用 python 開發(fā)的輕量級(jí)軟件,遵循 MIT 協(xié)議,可免費(fèi)使用。
- 支持平臺(tái):Windows, macOS, Linux
- 適合人群:數(shù)據(jù)科學(xué)開發(fā)者
- 下載:???????Home — Spyder IDE
Spyder 有一個(gè) Editor(編輯器)用于編寫代碼,Console(控制臺(tái))可以評(píng)估代碼并且在任何時(shí)候都可以看到運(yùn)行結(jié)果,Variable Explorer(變量管理器)可以查看代碼中定義的變量。
Spyder python 的基本功能包括:
- 多語(yǔ)言編輯器:具有函數(shù)/類瀏覽器的多語(yǔ)言編輯器,代碼分析功能(目前支持 pyflakes 和 pylint),代碼完成,水平和垂直分割以及 goto 定義;
- 交互式控制臺(tái):Python 或 IPython 控制臺(tái)具有工作空間和調(diào)試支持,還帶有 Matplotlib 數(shù)字集成;
- 文件查看:顯示在編輯器或控制臺(tái)中進(jìn)行的任何類或函數(shù)調(diào)用的文檔;
- variable explorer(變量探索器): 瀏覽在執(zhí)行文件期間創(chuàng)建的變量
- 文件查找:支持正則表達(dá)式;
- 文件管理;
- 可以作為 PyQT 的擴(kuò)展庫(kù),可以嵌入到 PyQt 的應(yīng)用中。
5 Jupyter:開源 IDE,IPython 的衍生品
Jupyter 是一款開源 IDE,IPython 的衍生品,它的名字來(lái)自 Julia、python、R 三種語(yǔ)言的組合,主要是用來(lái)做數(shù)據(jù)科學(xué)。
Jupyter 家族有 Jupyter Notebook、Jupyter Lab、Jupyter Hub 三大產(chǎn)品,前兩者都是基于 Web 的交互式計(jì)算環(huán)境,Hub 是服務(wù)器端的應(yīng)用。
- 支持瀏覽器:Chrome, Firefox, Safari 等
- 適合人群:所有人
- 下載:Project Jupyter | Home
Jupyter Notebook 的本質(zhì)是一個(gè) Web 應(yīng)用程序,便于創(chuàng)建和共享程序文檔,支持實(shí)時(shí)代碼,數(shù)學(xué)方程,可視化和 markdown。 用途包括:數(shù)據(jù)清理和轉(zhuǎn)換,數(shù)值模擬,統(tǒng)計(jì)建模,機(jī)器學(xué)習(xí)等。
Windows 打開 Jupyter Notebook 的方法:
Win R打開運(yùn)行窗口,輸入 Jupyter Notebook,回車,就會(huì)默認(rèn)在本地 8888 端口啟動(dòng)一個(gè) web 服務(wù),并自動(dòng)打開瀏覽器,打開http://localhost:8888/tree頁(yè)面,在這個(gè)頁(yè)面可以看到當(dāng)前目錄下的所有文件夾以及ipynb文件。
6 Anaconda:python 數(shù)據(jù)科學(xué)平臺(tái)(包管理)
Anaconda 是一款 python 數(shù)據(jù)科學(xué)平臺(tái),安裝它后就默認(rèn)安裝了 python、IPython、集成開發(fā)環(huán)境 Spyder 和眾多的包和模塊。Anaconda 包含了 conda、Python 在內(nèi)的超過 180 個(gè)科學(xué)包及其依賴項(xiàng),比如:numpy、pandas、TensorFlow、scipy 等。
- 下載:Anaconda | Anaconda Distribution
- github 上 anaconda 開發(fā)平臺(tái):Anaconda-Platform · GitHub
7 PTVS:github 上的開源項(xiàng)目
PTVS (Python Tools for Visual Studio)在 IronPython Tools for Visual Studio 的代碼基礎(chǔ)上進(jìn)行了增強(qiáng)并添加了對(duì) Cython、集群的支持,以及諸如 Numpy 和 Scipy 這樣的新模塊。
PTVS 的主要特性包括:CPython、IronPython、Jython 和 PyPy;高級(jí)編輯功能如 IntelliSense;多重構(gòu);內(nèi)置 REPL(read-eval-print loop)窗口;調(diào)試和分析功能等。
- 類型:代碼編輯器 &輕量級(jí) IDE
- 支持平臺(tái):Windows, macOS, Linux
- 適合人群:初、中階開發(fā)人群
- 支持語(yǔ)言:Python、Java 等絕大部分語(yǔ)言
- 下載:Download Visual Studio Code – Mac, Linux, Windows
- https://microsoft.github.io/PTVS/
Visual Studio Code(簡(jiǎn)稱 VS Code)是微軟開發(fā)的免費(fèi)代碼編輯器,內(nèi)置對(duì) JavaScript, TypeScript 和 Node.js 的支持,還可以通過豐富的拓展支持 C , C#, Java, Python, PHP, Go 等語(yǔ)言的開發(fā)。通過安裝 Python 插件,VS Code 可以變身為一款輕量級(jí)的 Python IDE,具有豐富的功能,包括代碼高亮、自動(dòng)補(bǔ)全、debug、調(diào)試、單元測(cè)試、notebook 集成、網(wǎng)站開發(fā)等。
8 eclipse Pydev:跨平臺(tái)的自由集成開發(fā)環(huán)境
Eclipse 是非常流行的 IDE,Eclipse with Pydev 允許開發(fā)者創(chuàng)建有用和交互式的 Web 應(yīng)用。Pydev 是一個(gè)運(yùn)行在 eclipse 上的開源插件,PyDev 是 Eclipse 開發(fā) Python 的 IDE,支持 Python,Jython 和 IronPython 的開發(fā)。
- 支持平臺(tái):Windows, macOS, Linux
- 適合人群:中、高階開發(fā)人群
- 支持語(yǔ)言:Python
- 下載:Download,PyDev
PyDev 具有許多功能,包括:
- Django 集成
- 自動(dòng)代碼補(bǔ)全
- 多語(yǔ)言支持
- 集成的 Python 調(diào)試
- 代碼分析
- 代碼模板
- 智能縮進(jìn)
- 括號(hào)匹配
- 錯(cuò)誤標(biāo)記
- 源代碼控制集成
- 代碼折疊
- UML 編輯和查看
- 單元測(cè)試整合
- 支持 Python 2.x 和 3.x 語(yǔ)法
9 Eric:集成項(xiàng)目管理功能的 Python 集成開發(fā)環(huán)境
Eric 是一個(gè)開源 python 代碼編輯器和集成開發(fā)環(huán)境,遵循 GPL 協(xié)議,免費(fèi)使用。它是純 python 編寫的,基于 Qt GUI 并集成了強(qiáng)大的 Scintilla 編輯器功能。它提供了一個(gè)可靠的插件管理系統(tǒng),可以通過插件來(lái)擴(kuò)展功能。
Eric 提供了所有的基礎(chǔ)功能,比如調(diào)用提示、代碼折疊、代碼高亮、類瀏覽器、代碼覆蓋及分析等等。但是 Eric 的關(guān)鍵功能讓它有了與其他商業(yè) Python IDE 競(jìng)爭(zhēng)的能力:
- 集成的任務(wù)管理
- 單元測(cè)試支持 – 已集成
- 重構(gòu)
- 正則表達(dá)式和 Qt 對(duì)話框核心插件
- 可選擇的從編輯器中啟動(dòng)第三方應(yīng)用程序
- 應(yīng)用程序圖
- 項(xiàng)目管理
- 交互式的 Python shell
- 多語(yǔ)言用戶界面,包括英語(yǔ),德語(yǔ),俄語(yǔ),法語(yǔ),捷克語(yǔ),西班牙語(yǔ),意大利語(yǔ),土耳其語(yǔ)和中文
- 以插件的方式集成版本控制工具 Subversion, Mercurial 和 Git
10 Sublime Text:跨平臺(tái)的、輕量級(jí)的代碼編輯器
Sublime- Text 是一個(gè)用 C 和 Python 開發(fā)的跨平臺(tái) IDE。除了 Python 之外,它還提供對(duì)其他語(yǔ)言的支持。Sublime 有自己的包管理器,開發(fā)者可以用來(lái)安裝組件,插件和額外的樣式。
- 支持平臺(tái):Windows、Linux、Mac OS 等操作系統(tǒng)
- 下載:Sublime Text 3 中文官網(wǎng) – sublime text 1和sublime text 2中文版下載
- Sublime Text 使用手冊(cè):Sublime Text 使用手冊(cè)_w3cschool
Sublime Text 的主要功能包括:
- 拼寫檢查
- 自動(dòng)換行
- 深度整合 GBK 編碼,可支持 GBK 編碼文件
- 書簽
- 完整的 Python API
- Goto 功能,即時(shí)項(xiàng)目切換,多選擇,多窗口
- 隨心所欲的跳轉(zhuǎn)到任意文件的任意位置
- 右邊沒有滾動(dòng)條,取而代之的是代碼縮略圖
- 多重選擇(Multi-Selection)功能允許在頁(yè)面中同時(shí)存在多個(gè)光標(biāo)
- 支持 VIM 模式
新手比較推薦的是 Pycharm、Jupyter Notebook,前者是目前最受歡迎的 Python IDE,可以進(jìn)行專業(yè)的 python 項(xiàng)目開發(fā),功能極為全面,后者是一款基于 Web 的 Python 工作臺(tái),適合做數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、可視化、教學(xué)演示,對(duì)新手非常友好。
原文出處:xie.infoq.cn/article/75c2bbe7f58722a2f9a089424