好工具推荐系列:Python IDE之PyCharm/Spyder/Jupyter/Eric

简介: 好工具推荐系列:Python IDE之PyCharm/Spyder/Jupyter/Eric

IDE流行度


KDnuggets2018年的一个博客发起了一项投票:数据科学中最好用的Python IDE是什么?本次调查共有1900多人参与,调查结果如下图所示。前5个选择是:


Jupyter,57%


PyCharm,35%


Spyder,27%


Visual Studio Code,21%


Sublime Text,12%





IDE用途


如果是web开发或大工程,建议使用PyCharm;


如果是数据处理,建议Spyder;Spyder是使用PyQt开发的GUI。


而Jupyter Notebook 已迅速成为数据分析,机器学习的必备工具。因为它可以让数据分析师集中精力向用户解释整个分析过程。


Jupyter这个名字是它要服务的三种语言的缩写:Julia,Python和R,这个名字与“木星(jupiter)”谐音。

image.png


IDE官网


1.Spyder


Spyder是Python(x,y)的作者为它开发的一个简单的集成开发环境。和其他的Python开发环境相比,它最大的优点就是模仿MATLAB的“工作空间”的功能,可以很方便地观察和修改数组的值。Spyder最大的亮点就是拥有和Matlab/Rstudio类似的workspace的区域,你可以轻松查看到所有你定义的变量,并可以交互式的点击修改,对于初学者来说是很能帮的上忙的功能。


https://www.spyder-ide.org/


https://github.com/spyder-ide/spyder


https://pypi.org/project/spyder/



2.Jupyter


Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。


https://github.com/jupyter/notebook


https://github.com/jupyter/jupyter



3.Pycharm


PyCharm 是 JetBrains 开发的 Python IDE。PyCharm用于一般IDE具备的功能,比如, 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制……另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython!


https://www.jetbrains.com/pycharm/



4.Eric


Eric 是全功能的 Python 和 Ruby 编辑器和 IDE,是使用 Python 编写的。Eric 基于跨平台的 GUI 工具包 Qt,集成了高度灵活的 Scintilla 编辑器控件。Eric 包括一个插件系统,允许简单的对 IDE 进行功能性扩展。Eric的功能与其他IDE类似:支持匹配,代码完成,类浏览器,集成单元测试等。它还具有Qt表单预览功能,如果您为应用程序开发Qt GUI,这很有用。PyQt5与Eric6是众所周知的Python平台下用来快速开发GUI程序的绝配,因此Eric也是PyQt官方推荐的IDE。


http://eric-ide.python-projects.org/


https://hg.die-offenbachs.homelinux.org/eric


https://sourceforge.net/projects/eric-ide/files/eric6/



引申阅读


1、Python非官方发行版


Python(x,y):GUI基于PyQt,曾经是功能最全也是最强大的,而且是Windows系统中科学免费Python发行版的不二选择。不过今时已不同往昔,如今版本较为老旧,跟不上时代了。不推荐!


https://sourceforge.net/projects/python-xy/


WinPython:功能也是比较全的,软件包比较新,GUI基于PyQt,不过相对于Python(x,y),它主要是关注便携式安装体验:你可以把它装在u盘里面。局限于Windows平台,不能跨平台。


Python(x,y)和WinPython都是开源项目,其项目负责人都是Pierre Raybaut。按Pierre自己的说法是“WinPython不是试图取替Python(x,y),而是出于不同动机和理念:更灵活、易于维护、可移动、对操作系统侵略性更小,但是用户友好性更差、包更少、没有同Windows资源管理器集成。”。此外Python(x,y)不是很稳定,此外看它目前的更新不是很频繁,确实有可能Pierre后来的工作重心放在WinPython上了。


http://winpython.github.io/


https://sourceforge.net/projects/winpython/


Anaconda:Anaconda是Python科学技术包的合集,功能和Python(x,y) 类似。这个是新起之秀。包管理使用conda,GUI基于PySide,所有的包基本上都是最新版,没有PyQt和wxpython等,容量适中,但该有的科学计算包都有:numpy,sicpy,matplotlib,spyder.....比如Linux系统里面,Anaconda安装、更新和删除都很方便,且所有的东西都只安装在一个目录中/home/wxp/anaconda/。Anaconda的开发和维护中有Python创始人和社区的核心成员,可以想象这个发行包肯定会"后来居上"!因此在各种操作系统中,无论是Linux,还是Windows,又或是Mac,我都强烈推荐Anaconda。因为从软件的美观程度,版本兼容性,更新频率,管理难易程度,综合考虑,还是建议选择Anaconda。Anaconda,傻瓜式安装,一键配置好Python环境以及一些常用第三方库,并自带Notebook和Spyder。新手我强烈建议你在安装Anaconda后使用Notebook来执行代码,因为对于初学者来说最重要的就是反馈,在Notebook中一行命令一行结果。所有结果都会保存方便回头Check,并且页面没有太多的插件/按钮,十分简洁。对于做数据分析可视化简直不要太舒服,并且还有很多Magic命令!


https://www.anaconda.com/


https://www.anaconda.com/products/individual Individual Edition下载,网页拉到最底部


https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 清华镜像,推荐


教程《完美安装 Anaconda3 + PyQt5 + Eric6》


https://blog.csdn.net/weiaitaowang/article/details/52045360


教程《血泪安装 Anaconda3 + PyQt5 + Eric6》


https://blog.csdn.net/weixin_41965380/article/details/84034526


firecat本人也写了一篇安装教程:


https://libaineu2004.blog.csdn.net/article/details/107738347



2、Octave是什么?


Octave是一种编程语言,旨在解决线性和非线性的数值计算问题。Octave为GNU项目下的开源软件,早期版本为命令行交互方式,4.0.0版本发布基于QT编写的GUI交互界面。Octave语法与Matlab语法非常接近,可以很容易的将matlab程序移植到Octave。同时与C++,QT等接口较Matlab更加方便。


http://www.gnu.org/software/octave/



3、Pyside2 vs PyQt5


https://www.riverbankcomputing.com/ PyQt官网


https://doc.qt.io/qtforpython/ Pyside2官方手册


https://pypi.org/project/PyQt5/


https://pypi.org/project/PySide2/


qtpy项目提供统一的层以通过单个代码库支持PyQt5,PySide2,PyQt4和PySide


https://github.com/spyder-ide/qtpy


https://machinekoder.com/pyqt-vs-qt-for-python-pyside2-pyside/


相关文章
|
1天前
|
数据可视化 算法 数据挖掘
Python时间序列分析工具Aeon使用指南
**Aeon** 是一个遵循 scikit-learn API 风格的开源 Python 库,专注于时间序列处理。它提供了分类、回归、聚类、预测建模和数据预处理等功能模块,支持多种算法和自定义距离度量。Aeon 活跃开发并持续更新至2024年,与 pandas 1.4.0 版本兼容,内置可视化工具,适合数据探索和基础分析任务。尽管在高级功能和性能优化方面有提升空间,但其简洁的 API 和完整的基础功能使其成为时间序列分析的有效工具。
52 37
Python时间序列分析工具Aeon使用指南
|
3月前
|
Java UED Python
【10月更文挑战第4天】「Mac上学Python 4」入门篇4 - PyCharm高效开发环境配置与使用技巧
本篇将详细介绍如何高效地使用PyCharm进行Python开发,内容涵盖PyCharm的主题设置、字体调整、常用快捷键、虚拟环境的管理、库安装与调试技巧等。通过本篇的学习,用户将能够充分利用PyCharm的功能,提升Python开发效率。
199 2
【10月更文挑战第4天】「Mac上学Python 4」入门篇4 - PyCharm高效开发环境配置与使用技巧
|
7天前
|
存储 算法 Serverless
剖析文件共享工具背后的Python哈希表算法奥秘
在数字化时代,文件共享工具不可或缺。哈希表算法通过将文件名或哈希值映射到存储位置,实现快速检索与高效管理。Python中的哈希表可用于创建简易文件索引,支持快速插入和查找文件路径。哈希表不仅提升了文件定位速度,还优化了存储管理和多节点数据一致性,确保文件共享工具高效运行,满足多用户并发需求,推动文件共享领域向更高效、便捷的方向发展。
|
1月前
|
数据可视化 编译器 Python
Manim:数学可视化的强大工具 | python小知识
Manim(Manim Community Edition)是由3Blue1Brown的Grant Sanderson开发的数学动画引擎,专为数学和科学可视化设计。它结合了Python的灵活性与LaTeX的精确性,支持多领域的内容展示,能生成清晰、精确的数学动画,广泛应用于教育视频制作。安装简单,入门容易,适合教育工作者和编程爱好者使用。
348 7
|
2月前
|
JavaScript 前端开发 开发者
探索 DrissionPage: 强大的Python网页自动化工具
DrissionPage 是一个基于 Python 的网页自动化工具,结合了浏览器自动化的便利性和 requests 库的高效率。它提供三种页面对象:ChromiumPage、WebPage 和 SessionPage,分别适用于不同的使用场景,帮助开发者高效完成网页自动化任务。
251 4
|
2月前
|
开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第41天】 在编程的世界中,效率与简洁是永恒的追求。本文将深入探讨Python编程语言中一个独特且强大的特性——列表推导式(List Comprehension)。我们将通过实际代码示例,展示如何利用这一工具简化代码、提升性能,并解决常见编程问题。无论你是初学者还是资深开发者,掌握列表推导式都将使你的Python之旅更加顺畅。
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
【10月更文挑战第4天】「Mac上学Python 5」入门篇5 - Jupyter 环境配置与高效使用技巧
本篇将介绍如何在Mac系统上安装和配置Jupyter,并详细介绍Jupyter Notebook的一些常用“神奇函数”。Jupyter是一个支持交互式计算的工具,广泛用于数据分析、机器学习等领域,通过学习本篇,用户将能够在Python项目中高效使用Jupyter Notebook。
114 3
【10月更文挑战第4天】「Mac上学Python 5」入门篇5 - Jupyter 环境配置与高效使用技巧
|
3月前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
69 2
|
3月前
|
C语言 开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第21天】在Python的世界里,代码的优雅与效率同样重要。列表推导式(List Comprehensions)作为一种强大而简洁的工具,允许开发者通过一行代码完成对列表的复杂操作。本文将深入探讨列表推导式的使用方法、性能考量以及它如何提升代码的可读性和效率。
|
3月前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
68 2