Python就像一本武林秘籍,想要修炼起来,一定要找一个顺手的兵器,可以说挑选一个好的开发工具是极其重要的,一个好的IDE会帮助你方便地编写Python程序,使你的编程更加舒适。一个好的开发工具可以让你事半功倍,接下来主要介绍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:
???????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和Flask
PyCharm具有一些可以帮助开发者提高效率的工具,比如智能代码补全、调试、语法高亮、项目管理与导航、代码跳转、智能提示、图形化的调试器和运行器、自动完成、单元测试、版本控制、遵循PEP8规范的代码质量检查、智能重构等。
- 支持平台:Windows、Mac 或 Linux 版本
- 下载: PyCharm: the Python IDE for Professional Developers by JetBrains
- PyCharm社区版本 下载
主要功能包括:
- 代码分析与辅助功能,拥有补全代码、高亮语法和错误提示,支持代码折叠和分割窗口;
- 项目和代码导航:专门的项目视图,文件结构视图和和文件、类、方法和用例的快速跳转;
- 重构:包括重新命名,提取方法/超类,导入域/变量/常量、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等
- 适合人群:所有人
- 下载: Project Jupyter | Home
upyter 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)窗口;调试和分析功能等。
- 类型:代码编辑器&轻量级IDE
- 支持平台:Windows, macOS, Linux
- 适合人群:初、中阶开发人群
- 支持语言:Python、Java等绝大部分语言
- 下载:Download Visual Studio Code - Mac, Linux, Windows
- https:// microsoft.github.io/PTV S/
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
- 下载:The Eric Python IDE
- 英国肯特大学计算机学院提供的镜像网站进行下载: The UK Mirror Service
- PyQt: The UK Mirror Service
- Eric: The UK Mirror Service
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 的主要功能包括:
- 拼写检查
- 自动换行
- 深度整合GBK编码,可支持GBK编码文件
- 书签
- 完整的Python API
- Goto 功能,即时项目切换,多选择,多窗口
- 随心所欲的跳转到任意文件的任意位置
- 右边没有滚动条,取而代之的是代码缩略图
- 多重选择(Multi-Selection)功能允许在页面中同时存在多个光标
- 支持VIM模式
新手比较推荐的是Pycharm、Jupyter Notebook,前者是目前最受欢迎的Python IDE,可以进行专业的python项目开发,功能极为全面,后者是一款基于Web的Python工作台,适合做数据分析、机器学习、可视化、教学演示,对新手非常友好。
总之,开发工具仁者见仁智者见智,关键是自己喜欢,用的爽就好。