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