工欲善其事必先利其器,Python作为一门热门语言,是许多类型项目的开发首选,特别是AI方面。 一个好的Python集成开发环境(IDE)或者编辑器可以在源代码编辑、自动化构建、代码调试器等方面减少很多麻烦,提高效率。
本文主要介绍一些适用于Windows、Linux和macOS的最佳开源Python IDE。
1.IDLE
IDLE是Python自带的默认编辑器,集成开发和学习环境。它只是一个基本的编辑器,提供了一些标准特性,如语法高亮显示、自动完成和调试功能。它是初学者开始学习Python的好工具,因为它很简单。
2.VSCode
https://code.visualstudio.com/
Visual Studio Code,或称VSCode,是一个由微软开发的免费开源的可扩展代码编辑器。它支持各种编程语言,并具有调试,智能代码完成,片段,嵌入式Git等功能。
对于Python开发,VSCode提供了一个丰富且用户友好的环境。它包括Python特有的特性,如linting、智能感知(代码补全)、调试、代码导航、代码格式化、对Python notebook的支持、重构、变量资源管理器、测试资源管理器等。它还支持Python环境和conda环境。
3.PyCharm 社区版
https://www.jetbrains.com/pycharm/
PyCharm Community是PyCharm IDE的开源版本,专门为Python编程而设计,可以免费使用。它提供了各种各样的功能,如智能编码辅助,智能代码导航等等。
4.Jupyter Notebook
Jupyter Notebook是一个开源的Web应用程序,可用于创建和共享实时代码、方程式、叙述性文本等文档。Jupyter Notebook支持40多种编程语言,也包括Python。
在Python环境之上,Jupyter Notebook被广泛应用于数据分析、数据可视化、机器学习等科学计算领域。它提供了一个交互式环境,使用户能够在单元格中编写和运行代码,这些代码可以单独执行。这些使得它成为一个用于原型开发和代码实验的很好的工具。
5.Thonny
https://github.com/thonny/thonny
Thonny是一个Python集成开发环境,专为学习编程的学生和小项目开发者而设计。
功能特征:
- 内置Python 3.10,轻松入门
- 无争议变量
- 简单的调试器
- 可逐步执行表达式计算
- 突出错误语法显示
- 解释作用域
- 参考文献解释模式
- 代码自动完善
- 初学者友好的系统外壳
- 简单干净的pip GUI
支持平台:
- Linux:Flathub
- Windows
- macOS
6.PyDev
PyDev是一个基于Eclipse的Python IDE,适用于Python,Jython和IronPython的开发。它提供了Django集成,自动导入代码和类型提示等功能。
功能特征:
- 内置Django框架集成
- 代码自动完善
- 自动导入代码
- 类型提示
- 代码分析
- 跳转到定义功能
- 重构工具
- 内置调试器
- 远程调试功能
- 在调试器中查找代码引用
- Tokens浏览器
- 交互式控制台
- Unittest集成
- 代码覆盖率工具
- PyLint集成
- MyPy集成
- 查找代码引用(Ctrl+Shift+G)
7.Mu
https://github.com/mu-editor/mu
Mu是一个适合初学者的代码编辑器,为Python编程提供了各种模式。Mu是用Python编写的,兼容Windows、macOS、Linux和Raspberry Pi等平台。在MadeWith.Mu网站上可以看到许多Mu用户的工作案例。
支持平台:
- Windows
- Linux
- macOS
8.Spyder
https://github.com/spyder-ide/spyder
Spyder是一个专为科学家、工程师和数据分析师设计的科学Python开发环境。它包含了代码编辑、分析、调试、分析工具、数据探索、交互式执行、深度检查和可视化等功能。
功能特征:
- 高级编辑、分析、调试和分析功能
- 数据探索、交互执行、深度检验、精美可视化能力
- 带有函数/类浏览器的多语言编辑器
- 代码分析工具
- 自动代码完成
- 水平/垂直拆分
- 转到定义功能
- 一个GUI中的多个IPython控制台
- 行、单元格或文件代码执行
- 交互式调试、绘图和魔术命令
- 动态变量交互和修改
- 直方图或时间序列绘图
- Dataframe或Numpy数组编辑
- 集合排序
- 嵌套对象探索
- 图形和图像浏览、缩放、复制和保存
- 交互式代码执行跟踪
- 即时访问任何对象的文档
- 插件扩展
9.Pyzo
Pyzo是一个免费的开源Python IDE,兼容任何Python解释器。它是为交互性、简单性而设计的,特别适合科学计算。它提供了一个编辑器、shell和一组可插入的工具来帮助程序员,工具包括源代码结构、项目管理器、交互式帮助和工作区等。
功能特征:
- 强大的内省
- 交互式代码运行的各种方式
- 直观的快捷方式编辑器
- 各种方便的工具
- 不同的Qt主题选择
- 在编辑器和shell中完全支持Unicode
- 在子进程中运行Python shell
- 同时支持多个外壳
- 支持不同的Python版本(v2.4 - v3.x)
- 执行命令历史记录
- 调试支持下一步/步骤/继续
- 支持事后调试
- 交互式支持多个GUI工具包
- 支持类似于IPython的魔法命令
- 选项来创建多个shell配置
- 用于包管理的“pip”或“conda”命令
- 支持自动缩进
- 加载文件时自动确定缩进宽度
- Matlab风格的单元格系统来标记代码段
- Python、Cython、C语言的高亮显示
- 注释和取消注释选定代码行的支持
- 拖放文件或目录以打开它们
- 查找/替换功能
- 用于更改代码行结束样式的选项
- 选项使用制表符或插入制表符作为空格
- 缩排辅助缐
- 查看空格/行尾
- 缩放
- 支持撤消/重做
- 当前代码行的高亮显示
- 长线指示器
- 多种字体选择
- 支持断点调试
- 自动完成活动Python会话中的任何对象和所有内置
- 使用调用提示显示函数签名
- Python会话中所有对象的交互式帮助
运行代码的几种方法:
- 文件浏览器:通过为目录添加书签来列出项目中的所有文件
- 源代码结构:一个工具,在树小部件中列出源代码的结构
- 交互式帮助:以交互方式显示帮助信息的工具
- 工作区:列出所有变量(也在调试模式下)
- Logger:一个记录器外壳,显示Pyzo的日志消息,可用于开发或更改高级设置
10.Flaskcode
https://github.com/sujeetkv/flaskcode
这是一个基于python flask框架的免费开源的web代码编辑器。
11.Geany
https://github.com/geany/geany
Geany是一个稳定且轻量级的文本编辑器,具它可以在Linux、Windows和macOS上运行,支持40多种语言,包括Python,并内置了对50多种编程语言的支持。
Geany附带了几十个插件和界面主题,可以作为Python开发IDE。
12.Python IDE Mobile
https://github.com/canewsin/python_ide
Python IDE Mobile 是一个使用Flutter和Dart开发的功能齐全的Python3 IDE,它简化了Python3项目的开发。
13.PythonBuddy
https://github.com/ethanchewy/PythonBuddy
PythonBuddy是一个在线Python 3编程工具,具有实时Pylint语法检查功能。
14.SCIntilla
https://flathub.org/it/apps/org.scintilla.SciTE
SciTE是一个基于Scintilla的文本编辑器,最初是为了演示Scintilla而创建的,但已经发展成为一个多功能的编辑器,具有构建和运行程序的功能。它包括语法突出显示和运行Python、C、C++、vala和go代码的能力。
15.Pyto
https://github.com/ColdGrub1384/Pyto
Pyto is a free and open-source Python IDE for iOS with NumPy, Matplotlib, Pandas, SciPy and SciKit-Learn.Pyto是一个免费开源的Python IDE,支持NumPy、Matplotlib、Pandas,SciPy和Scikit-Learn等。
如果在Mac上从Apple AppStore安装它,它不是免费的,但是,源代码是免费和开源的,可以下载代码并运行它,然后使用VSCode在机器上安装。
功能特征:
- 支持在iPad或iPhone上本地运行Python 3.10代码
- 带有语法高亮和代码自动完成功能的代码编辑器
- 运行UNIX命令和脚本的终端
- 支持包括Numpy、Matplotlib、Pandas、Statmodels、SciPy、SciKit-Learn、SciKit-Image、OpenCV等库
- 可与系统集成,用于安排通知、访问位置、音乐库等
- 用于调试异常的Tracebacks UI
- 用于构建项目的集成文件浏览器和设置工具
- 使用快捷方式运行脚本或自定义代码
- 为iOS 14创建主屏幕小部件
- 从PyPI安装纯Python模块