强推 10 款 Python 常用的开发工具
要熟练使用 python 解决各种问题,开发工具必不可少,其中就包括 IDE 或者代码编辑器,或者集成的开发编辑器(IDE),一个好的开发工具可以让你事半功倍,接下来主要介绍 python 的一些常用的开发工具。
1 IDLE:Python 自带的 IDE 工具
IDLE(Integrated Development and Learning Environment),集成开发和学习环境,是 Python 的集成开发环境,纯 Python 下使用 Tkinter
编写的 IDE。
支持平台:Windows, macOS, Linux
适合人群:初学者
支持语言:Python
IDLE 提供了一些针对初学者非常友好的功能,例如:
语法高亮
多窗口文本编辑器
程序动画或步进(指一次执行一行代码)
段落缩进
TABLE 键控制
断点可用于简化调试
调用堆栈清晰可见
2 IPython:交互式计算系统
IPython 主要包含三个组件:增加的交互式 “Python shell”,解耦的双过程通信模型,交互式并行计算的架构。可以实现并行化计算,同时支持变量自动补全。使用In [x]
和Out [x]
表示输入输出
IPython 提供以下交互性功能:
代码着色
变量自动补全,自动缩进
支持 bash shell 命令
强大的交互式 shell
Jupyter 内核
交互式的数据可视化工具
灵活、可嵌入的解释器
易于使用,高性能的并行计算工具
使用
%run
命令运行脚本使用
%timeit
命令快速测量时间使用
%pdb
命令快速 debug
IPython 支持 Python2.7 版本或者 3.3 以上的版本,通过以下命令安装 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 和 Flask
PyCharm 具有一些可以帮助开发者提高效率的工具,比如智能代码补全、调试、语法高亮、项目管理与导航、代码跳转、智能提示、图形化的调试器和运行器、自动完成、单元测试、版本控制、遵循 PEP8 规范的代码质量检查、智能重构等。
支持平台:Windows、Mac 或 Linux 版本
下载:PyCharm: the Python IDE for Professional Developers by JetBrains
主要功能包括:
代码分析与辅助功能,拥有补全代码、高亮语法和错误提示,支持代码折叠和分割窗口;
项目和代码导航:专门的项目视图,文件结构视图和和文件、类、方法和用例的快速跳转;
重构:包括重新命名,提取方法/超类,导入域/变量/常量、pull,push 等;
支持 Web 框架: Django、Pyramid、web2py、google app engine 和 Flask;
集成 Python 调试器;
集成单元测试,按行覆盖代码;
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 等
适合人群:所有人
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 等。
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)窗口;调试和分析功能等。
类型:代码编辑器 &轻量级 IDE
支持平台:Windows, macOS, Linux
适合人群:初、中阶开发人群
支持语言:Python、Java 等绝大部分语言
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 的开发。
PyDev 具有许多功能,包括:
Django 集成
自动代码补全
多语言支持
集成的 Python 调试
代码分析
代码模板
智能缩进
括号匹配
错误标记
源代码控制集成
代码折叠
UML 编辑和查看
单元测试整合
支持 Python 2.x 和 3.x 语法
9 Eric:集成项目管理功能的 Python 集成开发环境
Eric 是一个开源 python 代码编辑器和集成开发环境,遵循 GPL 协议,免费使用。它是纯 python 编写的,基于 Qt GUI 并集成了强大的 Scintilla 编辑器功能。它提供了一个可靠的插件管理系统,可以通过插件来扩展功能。
Eric 提供了所有的基础功能,比如调用提示、代码折叠、代码高亮、类浏览器、代码覆盖及分析等等。但是 Eric 的关键功能让它有了与其他商业 python IDE 竞争的能力:
集成的任务管理
单元测试支持 – 已集成
重构
正则表达式和 Qt 对话框核心插件
可选择的从编辑器中启动第三方应用程序
应用程序图
项目管理
交互式的 Python shell
多语言用户界面,包括英语,德语,俄语,法语,捷克语,西班牙语,意大利语,土耳其语和中文
以插件的方式集成版本控制工具 Subversion, Mercurial 和 Git
英国肯特大学计算机学院提供的镜像网站进行下载: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 使用手册:Sublime Text 使用手册_w3cschool
Sublime Text 的主要功能包括:
拼写检查
自动换行
深度整合 GBK 编码,可支持 GBK 编码文件
书签
完整的 Python API
Goto 功能,即时项目切换,多选择,多窗口
随心所欲的跳转到任意文件的任意位置
右边没有滚动条,取而代之的是代码缩略图
多重选择(Multi-Selection)功能允许在页面中同时存在多个光标
支持 VIM 模式
新手比较推荐的是 Pycharm、Jupyter Notebook,前者是目前最受欢迎的 Python IDE,可以进行专业的 python 项目开发,功能极为全面,后者是一款基于 Web 的 Python 工作台,适合做数据分析、机器学习、可视化、教学演示,对新手非常友好。
版权声明: 本文为 InfoQ 作者【左手の明天】的原创文章。
原文链接:【http://xie.infoq.cn/article/75c2bbe7f58722a2f9a089424】。文章转载请联系作者。
评论