好工具推荐系列: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月前
|
缓存 API Python
Python中的装饰器:优雅而强大的函数增强工具
在Python编程中,装饰器是一种强大的工具,可以在不改变原函数代码的情况下,对函数进行增强和扩展。本文将介绍装饰器的基本概念、用法以及实际应用场景,帮助读者更好地理解并运用装饰器提升代码的可维护性和灵活性。
|
1月前
|
存储 开发工具 git
Python中的版本控制和代码协作工具
在Python项目中,版本控制和代码协作是非常重要的。最常用的版本控制工具是Git,而代码协作则通常通过Git配合代码托管平台(如GitHub、GitLab等)来实现。以下是一个基本的流程,说明如何使用Git进行版本控制以及如何通过GitHub进行代码协作。
|
5天前
|
机器学习/深度学习 数据挖掘 计算机视觉
python数据分析工具SciPy
【4月更文挑战第15天】SciPy是Python的开源库,用于数学、科学和工程计算,基于NumPy扩展了优化、线性代数、积分、插值、特殊函数、信号处理、图像处理和常微分方程求解等功能。它包含优化、线性代数、积分、信号和图像处理等多个模块。通过SciPy,可以方便地执行各种科学计算任务。例如,计算高斯分布的PDF,需要结合NumPy使用。要安装SciPy,可以使用`pip install scipy`命令。这个库极大地丰富了Python在科学计算领域的应用。
10 1
|
6天前
|
数据可视化 数据挖掘 Python
Python中数据分析工具Matplotlib
【4月更文挑战第14天】Matplotlib是Python的数据可视化库,能生成多种图表,如折线图、柱状图等。以下是一个绘制简单折线图的代码示例: ```python import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.figure() plt.plot(x, y) plt.title('简单折线图') plt.xlabel('X轴') plt.ylabel('Y轴') plt.show() ```
9 1
|
6天前
|
数据采集 SQL 数据可视化
Python数据分析工具Pandas
【4月更文挑战第14天】Pandas是Python的数据分析库,提供Series和DataFrame数据结构,用于高效处理标记数据。它支持从多种数据源加载数据,包括CSV、Excel和SQL。功能包括数据清洗(处理缺失值、异常值)、数据操作(切片、过滤、分组)、时间序列分析及与Matplotlib等库集成进行数据可视化。其高性能底层基于NumPy,适合大型数据集处理。通过加载数据、清洗、分析和可视化,Pandas简化了数据分析流程。广泛的学习资源使其成为数据分析初学者的理想选择。
10 1
|
12天前
|
测试技术 开发者 Python
Python中的装饰器:优雅而强大的函数修饰工具
在Python编程中,装饰器是一种强大的工具,用于修改函数或方法的行为。本文将深入探讨Python中装饰器的概念、用法和实际应用,以及如何利用装饰器实现代码的优雅和高效。
|
30天前
|
数据采集 搜索推荐 数据挖掘
使用Python制作一个批量查询搜索排名的SEO免费工具
最近工作中需要用上 Google SEO(搜索引擎优化),有了解过的朋友们应该都知道SEO必不可少的工作之一就是查询关键词的搜索排名。关键词少的时候可以一个一个去查没什么问题,但是到了后期,一个网站都有几百上千的关键词,你再去一个一个查,至少要花费数小时的时间。 虽然市面上有很多SEO免费或者收费工具,但免费的基本都不能批量查,网上免费的最多也就只能10个10个查询,而且查询速度很慢。收费的工具如Ahrefs、SEMrush等以月为单位收费最低也都要上百美刀/月,当然如果觉得价格合适也可以进行购买,毕竟这些工具的很多功能都很实用。今天我给大家分享的这个排名搜索工具基于python实现,当然肯定
40 0
|
30天前
|
XML Shell Linux
性能工具之 JMeter 使用 Python 脚本快速执行
性能工具之 JMeter 使用 Python 脚本快速执行
41 1
性能工具之 JMeter 使用 Python 脚本快速执行
|
30天前
|
数据可视化 数据挖掘 Python
Python中的数据可视化工具Matplotlib简介与实践
在本文中,我们将介绍Python中常用的数据可视化工具Matplotlib,包括其基本概念、常用功能以及实际应用。通过学习Matplotlib,读者可以更好地理解和运用数据可视化技术,提升数据分析与展示的能力。
|
1月前
|
Web App开发 前端开发 JavaScript
Python Selenium是一个强大的自动化测试工具
Python Selenium是一个强大的自动化测试工具