Python开发工具有很多,诸如IDLE、Pycharm、Spyder、Eclipse+Pydev、VScode、Wing、Jupyter等,可以说各有千秋。
新手比较推荐的是Pycharm、Jupyter Notebook,前者是目前最受欢迎的Python IDE,可以进行专业的python项目开发,功能极为全面,后者是一款基于Web的Python工作台,适合做数据分析、机器学习、可视化、教学演示,对新手非常友好。
什么是Python IDE?
IDE代表集成开发环境,它不仅包括用于管理代码的标准代码编辑器,而且还提供用于调试,执行和测试的全面工具集,这是软件开发的必备功能,一些IDE还带有内置的编译器和解释器。
下面列出了常见的IDE提供的一部分标准功能:
- 语法高亮
- 版本控制
- 构建自动化
- 可视化编程
- 代码提示及自动补全
- 代码重构
- 外部工具集成
大部分IDE都支持多平台,包括 Windows, Mac和Linux,并且是免费的。如果你是一个学生,并且计划去学习Python,那么可以尝试一些免费的IDE,比如Pydev + Eclipse, Spyder,VIM等。
然而,也有更高级的面向企业和专业开发人员的商业IDE,比如PyCharm、Wing IDE、 Sublime Text 3等。
IDE和代码编辑器的区别?
前面说过IDE是包含了代码编辑器的集成开发环境,而代码编辑器其实就是一个文本编辑器,和windows的记事本类似。不过代码编辑器有编程专属的功能,比如:语法高亮、代码格式化、跨平台、多文档、多视图。
Pycharm、Spyder、IDLE等是IDE,Sublime Text 3、Notepad++、Vim等是代码编辑器。
总的来说,IDE可以替代代码编辑器,但代码编辑器无法取代IDE。
如果你只是想简单的学习一下python,或者运行些python代码,那么在线的python IDE也能帮助你完成这样的工作,比如Pythonfiddle.com、pythonanywhere.com, repl.it 和 ideone.com。
哪些IDE或代码编辑器值得推荐?
1. PyCharm
PyCharm是一个跨平台的全功能Python开发工具,是JetBrains公司的产品。
- 类型:IDE
- 首次发行时间:2010年
- 支持平台:Windows, macOS, Linux
- 适合人群:初、中、高开发人群
- 支持语言:Python, Javascript, CoffeeScript, etc.
- 费用:社区版免费,专业版199刀每年
- 使用Pycharm的公司:推特、惠普、eBay等
- 下载:PyCharm: the Python IDE for Professional Developers by JetBrains
Pycharm具有多种功能,例如代码分析、图形化调试器,集成测试器、集成版本控制系统,并支持使用Django进行网页开发。借助PyCharm的API,开发人员可以创建自己的自定义插件,以向IDE添加新功能。
主要功能包括:
- 代码分析与辅助功能,拥有补全代码、高亮语法和错误提示;
- 项目和代码导航:专门的项目视图,文件结构视图和和文件、类、方法和用例的快速跳转;
- 重构:包括重新命名,提取方法,引入变量,引入常量、pull,push等;
- 支持Web框架: Django、Pyramid、web2py、google app engine和Flask;
- 集成Python调试器;
- 集成单元测试,按行覆盖代码;
- Google App Engine下的Python开发;
- 集成版本控制系统:为Mercurial,Git, Subversion, Perforce 和 CVS提供统一的用户界面,拥有修改以及合并功能。
2. Eclipse + Pydev
Eclipse 是非常流行的 IDE,而且已经有了很久的历史。Eclipse with Pydev 允许开发者创建有用和交互式的 Web 应用。PyDev 是 Eclipse 开发 Python 的 IDE,支持 Python,Jython和 IronPython 的开发。
- 类型:IDE
- 首次发行时间:2001 —「Eclipse」, 2003 —「Pydev」
- 支持平台:Windows, macOS, Linux
- 适合人群:中、高阶开发人群
- 支持语言:Python
- 费用:全部免费
- 使用Pycharm的公司:Hike, Edify, Accenture, Wongnai, and Webedia.等
- 下载:PyDev
Eclipse是顶级IDE之一,支持多种编程语言,包括JAVA、Python等。Eclipse最初是为开发Java应用程序而创建的,通过插件引入了对其他编程语言的支持。用于Python开发的插件是Pydev,它具有Eclipse IDE以外的其他优点,例如:
- Django集成
- 自动代码补全
- 多语言支持
- 集成的Python调试
- 代码分析
- 错误标记
- 源代码控制集成
- 代码折叠
- UML编辑和查看
- 单元测试整合
3. Jupyter
Jupyter是一款开源IDE,IPython的衍生品,旨在“为数十种编程语言的交互式计算开发开源软件,开放标准和服务”它的名字来自Julia、python、R三种语言的组合,主要是用来做数据科学。
Jupyter家族有Jupyter Notebook、Jupyter Lab、Jupyter Hub三大产品,前两者都是基于Web的交互式计算环境,Hub是服务器端的应用。
- 类型:IDE
- 首次发行时间:2015
- 支持浏览器:Chrome, Firefox, Safari等
- 适合人群:所有人
- 支持语言:Python
- 费用:全部免费
- 使用Pycharm的公司:Google, Bloomberg, Microsoft, IBM, and Soundcloud.等
- 下载:Project Jupyter
Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。
Jupyter主要特点:
- 可选择多种编程语言
- 适合数据科学、机器学习、可视化
- 编程时具有语法高亮、缩进、tab补全的功能。
- 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。
- 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。
- 对代码编写说明文档或语句时,支持Markdown语法。
- 支持使用LaTeX编写数学性说明
4. Spyder
Spyder是一个开源的python集成开发环境,非常适合用来进行科学计算方面的python开发。同时,Spyder 是用python开发的,遵循MIT协议,可免费使用。
- 类型:IDE
- 首次发行时间:2009
- 支持平台:Windows, macOS, Linux
- 适合人群:数据科学开发者
- 支持语言:Python
- 费用:全部免费
- 下载:https://www.spyder-ide.org/
Spyder有一个Editor(编辑器)用于编写代码,Console(控制台)可以评估代码并且在任何时候都可以看到运行结果,Variable Explorer(变量管理器)可以查看代码中定义的变量,还有其他的一些设备可以帮你高效地开发代码。
为什么说Spyder适合数据科学?它结合了综合开发工具的高级编辑、分析、调试功能以及数据探索、交互式执行、深度检查和科学包的可视化功能,为用户带来了很大的便利。
5. IDLE
IDLE是Python内置的IDE,安装Python后便可直接使用,初学者可以利用它方便地创建、运行、测试和调试Python程序。
- 类型:IDE
- 首次发行时间:1998
- 支持平台:Windows, macOS, Linux
- 适合人群:初学者
- 支持语言:Python
- 费用:全部免费
- 下载:https://www.python.org/downloads/
IDEL 具有两个主要窗口类型,分别是命令行窗口和编辑器窗口。用户可以同时打开多个编辑器窗口。它提供的功能包括:多次撤销、语法高亮、智能缩进、函数调用提示、自动补全、替换文本、断点调试、单步调试等。
6. VS Code
Visual Studio Code(简称VS Code)是微软开发的免费代码编辑器,内置对JavaScript, TypeScript和Node.js的支持,还可以通过丰富的拓展支持 C++, C#, Java, Python, PHP, Go等语言的开发。
- 类型:代码编辑器&轻量级IDE
- 首次发行时间:2001年
- 支持平台:Windows, macOS, Linux
- 适合人群:初、中阶开发人群
- 支持语言:Python、Java等绝大部分语言
- 费用:全部免费
- 下载:https://code.visualstudio.com/Download
通过安装Python插件,VS Code可以变身为一款轻量级的Python IDE,具有丰富的功能,包括代码高亮、自动补全、debug、调试、单元测试、notebook集成、网站开发等。
另外,VS Code支持在命令面板中(快捷键 Ctrl+Shift+P)搜索和输入命令,从而实现指定功能,例如安装扩展、设置属性等、调用扩展的命令。
在控制面板做的设置都会自动保存到 json,也可以直接修改 json 文件,方便备份或部署。