Python 15大框架、操作系统 linux的发行版有多少

目录:

  1. 操作系统
    1.2 Linux发行版本
Python

在这里插入图片描述
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。

设计者 Guido van Rossum

Django

Web应用开发框架

在这里插入图片描述
Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。

Django是一个开放源代码的Web应用框架,由Python写成。

Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。

Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。

Diesel

基于Greenlet的事件I/O框架

Diesel 提供一个干净整洁的 API 来编写网络客户端和服务器。支持 TCP 和 UDP 。

你应该使用 Diesel 来编写你的下一个网络应用。得益于 Python 使得 Diesel 的语法非常整洁,发展步伐迅速。非阻塞 I/O 使得 Diesel 快速且容易扩展。greenlets 使得 Diesel 有了 unwind(to(callbacks(no)))。nose 使得测试变得容易。最后,Flask 使得你不需要写一个新的网络框架来使用 Diesel 。

Flask

一个用Py编写的轻量级Web应用框架
在这里插入图片描述
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。
Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

Cubes

轻量级Py OLAP框架
在这里插入图片描述

Cubes是一个轻量级的Python框架和一套工具,用于开发报告和分析应用程序,在线分析处理(OLAP),多维分析和聚合数据的浏览。它是Data Brewery的一部分。

Kartograph

创造矢量地图的轻量级Py框架
在这里插入图片描述
Kartograph 是个构建交互式地图的简单、轻量级类库。

它包含两个库,一个用Python写的,用于产生漂亮和压缩的SVG地图,另一个是js类库用于前端展示地图用。

Pulsar
事件驱动并发框架

在这里插入图片描述
Pulsar是Python事件驱动并发框架;Pulsar具有高扩展性、高可用性的框架,它能够基于事件驱动的开源实时分析平台和处理框架,同时可以实时收集和处理用户行为和业务事件。


Web2py
全栈式Web框架

在这里插入图片描述
web2py 是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用,兼容 Google App Engine。

web2py具有非常良好的架构设计和代码实现,其不依赖于除了Python标准库之外的任何第三方软件包,另一方面web2py的架构使得其很容易和第三方软件包协作。web2py提供了一个基于web的IDE环境,您可以在这个环境中创建、修改、部署以及管理您的程序,大大提高您的工作效率。


Falcon

构建云API和网络应用后端的高性能Py框架

在这里插入图片描述
Falcon是一个可靠的、高性能的Python web框架,用于构建大规模的应用程序后端和微服务。它鼓励REST架构风格,并且在保持高效的同时尽量少做事情。
Falcon应用可以在任何WSGI服务器上运行,并且在CPython 2.7、CPython 3.5+、PyPy2.7和PyPy3.5下运行得像个冠军。


Dpark
Py版的Spark

Dpark 是Spark 的Python克隆版本,是一个用Python 语言实现的分布式计算框架,可以非常方便地实现大规模数据处理和低延时的迭代计算。该计算框架类似于MapReduce,但是比其更灵活,可以用Python 非常方便地进行分布式计算,并且提供了更多的功能,以便更好地进行迭代式计算。Dpark 由国内的豆瓣公司开发实现和负责维护,据豆瓣公司的描述,目前豆瓣公司内部的绝大多数数据分析都使用Dpark 完成,整个项目也正趋于完善。但是Python和Scala这两种语言本身的区别和特性。


Buildbot

基于Py的持续集成测试框架

在这里插入图片描述
BuildBot是一个自动构建工具。每当代码有改变,服务器要求不同平台上的客户端立即进行代码构建和测试,收集并报告不同平台的构建和测试结果。BuildBot用python写的,该python程序只依赖python环境和Twisted(一个python网络框架),可以在很多平台运行。


Zerorpc
基于ZeroMQ的高性能分布式RPC框架

在这里插入图片描述

zerorpc是一个灵活的基于zeromq和messagepack的RPC实现。使用zerorpc公开的服务api称为“zeroservices”。
zerorpc可以通过编程方式使用,也可以通过命令行使用。它提供了一个方便的脚本,“zerorpc”,允许:
在不修改任何代码的情况下公开Python模块,通过命令行远程调用这些模块。


Bottle

微型 Web框架

在这里插入图片描述
Bottle是一个Python Web框架,整个框架只有一个文件,几十K,却自带了路径映射、模板、简单的数据库访问等web框架组件,确实是个可用的框架。初学web开发可以拿来玩玩,其语法简单,部署也很方便。


Tornado

异步非阻塞IO的Py Web框架
在这里插入图片描述
Tornado是一种 Web 服务器软件的开源版本。Tornado 和主流Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。

得利于其非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架。

Tornado(龙卷风)和Django一样是Python中比较主流的web框架,Tornado 和现在的主流 Web 服务器框架也有着明显的区别:Tornado自带socket,并且实现了异步非阻塞并对WebSocket协议天然支持;


webpy

轻量级的Py Web框架

web.py 是一个轻量级Python web框架,它简单而且功能强大。web.py是一个开源项目。该框架由已故美国作家、Reddit联合创始人、RSS规格合作创造者、著名计算机黑客Aaron Swartz开发。web.py已被很多家大型网站所使用。
web.py简单易学,只要有Python基础,掌握web.py就非常容易。


Scrapy
Py的爬虫框架

在这里插入图片描述
Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。



操 作 系 统

Windows

在这里插入图片描述

MicrosoftWindows操作系统是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也当前应用最广泛的操作系统。

Windows采用了图形化模式GUI,比起从前的Dos需要输入指令使用的方式,更为人性化。随着计算机硬件和软件的不断升级,微软的 Windows也在不断升级,从架构的16位、32位再到64位,系统版本从最初的 Windows1.0到大家熟知的 Windows95、 Windows98、 Windows2000、 Windows XP、 Windows Vista、 Windows7、Windows8、Windows8.1、Windows10和 Windows Server服务器企业级操作系统,不断持续更新,微软一直在致力于Windows操作系统的开发和完善。

unix

在这里插入图片描述
Unix是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。Unix作为一种开发平台和台式操作系统获得了广泛使用,目前主要用于工程应用和科学计算等领域。

Linux

在这里插入图片描述

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。


Linux 发行版本

Linux 发行版本太多了,平台+个人 没有100 也有80了吧,我们主要介绍一下几个

Red Hat

在这里插入图片描述

Red Hat(红帽公司)创建于 1993 年,是目前世界上资深的 Linux 厂商,也是最获认可的 Linux 品牌。

Red Hat 公司的产品主要包括 RHEL(Red Hat Enterprise Linux,收费版本)和 CentOS(RHEL 的社区克隆版本,免费版本)、Fedora Core(由 Red Hat 桌面版发展而来,免费版本)。

Red Hat 是在我国国内使用人群最多的 Linux 版本,资料丰富,如果你有什么不明白的地方,则容易找到人来请教,而且大多数 Linux 教程是以 Red Hat 为例来讲解的(包括本教程)。

本教程以我国国内互联网公司常用的 Linux 发行版本 CentOS 为例讲解,它是基于 Red Hat Enterprise Linux 源代码重新编译、去除 Red Hat 商标的产物,各种操作使用和付费版本没有区别,且完全免费。缺点是不向用户提供技术支持,也不负任何商业责任。有实力的公司可以选择付费版本。


Ubuntu

在这里插入图片描述

Ubuntu 基于知名的 Debian Linux 发展而来,界面友好,容易上手,对硬件的支持非常全面,是目前最适合做桌面系统的 Linux 发行版本,而且 Ubuntu 的所有发行版本都免费提供。

Ubuntu 的创始人 Mark Shuttleworth 是非常具有传奇色彩的人物。他在大学毕业后创建了一家安全咨询公司,1999 年以 5.75 亿美元被收购,由此一跃成为南非最年轻有为的本土富翁。作为一名狂热的天文爱好者,Mark Shuttleworth 于 2002 年自费乘坐俄罗斯联盟号飞船,在国际空间站中度过了 8 天的时光。之后,Mark Shuttleworth 创立了 Ubuntu 社区,2005 年 7 月 1 日建立了 Ubuntu 基金会,并为该基金会投资 1000 万美元。他说,太空的所见正是他创立 Ubuntu 的精神之所在。如今,他最热衷的事情就是到处为自由开源的 Ubuntu 进行宣传演讲。


SuSE

在这里插入图片描述

SuSE Linux 以 Slackware Linux 为基础,原来是德国的 SuSE Linux AG 公司发布的 Linux 版本,1994 年发行了第一版,早期只有商业版本,2004 年被 Novell 公司收购后,成立了 OpenSUSE 社区,推出了自己的社区版本 OpenSUSE。

SuSE Linux 在欧洲较为流行,在我国国内也有较多应用。值得一提的是,它吸取了 Red Hat Linux 的很多特质。

SuSE Linux 可以非常方便地实现与 Windows 的交互,硬件检测非常优秀,拥有界面友好的安装过程、图形管理工具,对于终端用户和管理员来说使用非常方便。


Gentoo

在这里插入图片描述

Gentoo 最初由 Daniel Robbins(FreeBSD 的开发者之一)创建,首个稳定版本发布于 2002 年。Gentoo 是所有 Linux 发行版本里安装最复杂的,到目前为止仍采用源码包编译安装操作系统。

不过,它是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。自从 Gentoo 1.0 面世后,它就像一场风暴,给 Linux 世界带来了巨大的惊喜,同时也吸引了大量的用户和开发者投入 Gentoo Linux 的怀抱。

有人这样评价 Gentoo:快速、设计干净而有弹性,它的出名是因为其高度的自定制性(基于源代码的发行版)。尽管安装时可以选择预先编译好的软件包,但是大部分使用 Gentoo 的用户都选择自己手动编译。这也是为什么 Gentoo 适合比较有 Linux 使用经验的老手使用。

要注意的是,由于编译软件需要消耗大量的时间,所以,如果你所有的软件都由自己编译,并安装 KDE 桌面系统等比较大的软件包,则可能需要花费很长时间。

以上发行版摘选自 here


Mint

在这里插入图片描述
Linux Mint 由Linux Mint Team团队于2006年开始发行,是一份基于Debian和Ubuntu的Linux发行版。其目标是提供一种更完整的即刻可用体验,这包括提供浏览器插件、多媒体编解码器、对DVD播放的支持、Java和其他组件,它也增加了一套定制桌面及各种菜单,一些独特的配置工具,以及一份基于web的软件包安装界面。Linux Mint是对用户友好而功能强大的操作系统。它诞生的目的是为家庭用户和企业提供一个免费的,易用的,舒适而优雅的桌面操作系统。

Linux Mint 是一个为PC和X86电脑设计的操作系统。因此,一个可以跑得动Windows的电脑也可以使用Linux Mint来代替Windows。也可以两个都跑,组建为所谓的“双系统”。同样,MAC,BSD或者其他的UNIX系统也可以和Linux Mint 共存。如果你装有多系统,你可以在电脑启动之时通过启动菜单选择不同的系统。

Linux Mint可以很好的在一个单系统的电脑上运行,但是它也可以自动检测其他操作系统并与其互动,例如,如果你安装Linux Mint再一个安装了Windows系统(xp,vista或者其他版本)的计算机,它会自动检测并建立双系统启动以供您在开机的时候选择启动哪个系统。并且你可以在Linux Mint下访问Windows分区。

Linux Mint是安全,稳定,有效并且日益易于操作的系统,有着优秀的设计。



Debian

在这里插入图片描述
广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Debian项目众多内核分支中以Linux宏内核为主,而且 Debian开发者 所创建的操作系统中绝大部分基础工具来自于GNU工程 ,因此 “Debian” 常指Debian GNU/Linux。

非官方内核分支还有只支持x86的Debian GNU/Hurd(Hurd微内核),只支持amd64的Dyson(OpenSolaris混合内核)等。这些非官方分支都存在一些严重的问题,没有实用性,比如Hurd微内核在技术上不成熟,而Dyson则基础功能仍不完善。

“Debian” 正式发音为 /ˈdɛ.bi.ən/ ,Debian 是国际化协作项目,官方未指定任何非英文名称。



Mageia

在这里插入图片描述

Mageia 是一个基于 Mandriva Linux 的新发行版。这是一个社区驱动的产品,并不会依赖任何一个公司。他们正在组建一个非盈利的管理组织,来管理这个社区成员。

Mageia是Mandriva Linux于2010年9月形成的分支,它由那份来自法国的颇受欢迎的Linux发行的前雇员及贡献者们创建。与Mandriva这份商业实体所不同的是,Mageia计划乃是一个社区项目及一个非盈利性组织,它的目标是开发一套自由的基于Linux的操作系统。

“Mageia”一词出自希腊语“μαγεία”,在英语中对应为"magic",即“魔术”。之所以取这一名称,灵感来自魔术师Leon Mandrake 的名字,而 Mandrake 也是 Mandriva Linux 发行版的原名。

需要指出的是Mageia Linux默认对中文支持良好。



Fedora

在这里插入图片描述
Fedora 是一个 Linux 发行版,是一款由全球社区爱好者构建的面向日常应用的快速、稳定、强大的操作系统。 它允许任何人自由地使用、修改和重发布,无论现在还是将来。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。Fedora 项目由 Fedora 基金会管理和控制,得到了 Red Hat 的支持。

Fedora (第七版以前为Fedora Core)是一款基于 Linux 的操作系统,也是一组维持计算机正常运行的软件集合。Fedora 由Fedora Project社区开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由和开源的操作系统。Fedora 项目以社区的方式工作,引领创新并传播自由代码和内容,是世界各地爱好、使用和构建自由软件的社区朋友的代名词。

Fedora基于Red Hat Linux,在Red Hat Linux终止发行后,红帽公司计划以Fedora来取代Red Hat Linux在个人领域的应用,而另外发行的Red Hat Enterprise Linux(Red Hat企业版Linux,RHEL)则取代Red Hat Linux在商业应用的领域。

Fedora的功能对于用户而言,它是一套功能完备、更新快速的免费操作系统,而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。

Fedora 大约每六个月发布新版本。2019年北京时间4月30日, Fedora Project 宣布 Fedora 30 正式发布。


Arch

在这里插入图片描述

Arch Linux(或Arch /ˈɑːrtʃ/))是一款基于 x86-64 架构的 Linux 发行版。系统主要由自由和开源软件组成,支持社区参与。系统设计以KISS原则(保持简单和愚蠢)为总体指导原则,注重代码正确、优雅和极简主义,期待用户能够愿意去理解系统的操作。 Arch Linux 系统安装、删除和更新软件的软件包管理器叫做 pacman 。

Arch Linux 采用滚动发行模式来获取系统更新和软件的最新版本。系统安装映像只简单地包含系统主要组件。

Arch Linux 以社区 Wiki 的形式提供文档,称为 ArchWiki 。该 Wiki 经常编有特定主题的最新信息,受到了 Linux 社区的广泛认可,内容也应用在 Arch Linux 以外的领域。



CentOS

MyLover
在这里插入图片描述
CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS完全开源。

每个版本的 CentOS都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。CentOS是Community Enterprise Operating System的缩写。

CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。

  • CentOS在2014初,宣布加入Red Hat。
  • CentOS 加入红帽后不变的是:
  1. CentOS 继续不收费

  2. 保持赞助内容驱动的网络中心不变

  3. Bug、Issue 和紧急事件处理策略不变

  4. Red Hat Enterprise Linux 和 CentOS 防火墙也依然存在
    变化的是:

  5. 我们是为红帽工作,不是为 RHEL

  6. 红帽提供构建系统和初始内容分发资源的赞助

  7. 一些开发的资源包括源码的获取将更加容易

  8. 避免了原来和红帽上一些法律的问题



PCLinuxOS在这里插入图片描述

PCLinuxOS是一个完全开放的linux版本,经过PClinuxOS开发团队的不懈努力,正越来越受到广大 linux爱好者的关注。秉承“简单易用,安全无忧”的理念,PCLinuxOS逐步成长为一个稳定、成熟的版本。在没有大公司的帮助下,PCLinuxOS 的开发团队奇迹一般把这样一个平民Linux版本推动到Linux世界的巅峰,也让Linux的开源、自由精神绽放出极致的光彩。

PCLinuxOS是一份纯英文的自启动运行光盘,它最初基于Mandrake Linux(现已更名为Mandriva)。PCLinuxOS完全从一张可启动光盘运行。光盘上的数据实时地解压缩,从而使得这一张光盘上集成的应用程序多达2G,这包括一份完整的X服务器,KDE桌面(已经有缺省为gnome桌面的单独发行),Office套件、Firefox web browser、xmms播放器等更多即刻可用的程序。除了作为自启动运行光盘来使用,你也可以通过一套易于使用的光盘安装程序将PCLinuxOS安装到硬盘。额外的应用程序可以通过一份友好的apt-get前端Synaptic来添加或删除。

PCLinuxOS是一份优秀的发行版,在国外很流行,关注度与Ubuntu、Fedora、openSUSE不分高下。

官方下载镜像不包括中文语言文件,但并不妨碍其对中文的良好支持。(国内PCLinuxOS中文社区也已经发布了含有中文语言包的下载镜像)。



Slackware

在这里插入图片描述
Slackware Linux 是由 Patrick Volkerding开发的GNU/Linux发行版。与很多其他的发行版不同,它坚持KISS(Keep It Simple Stupid)原则。一开始,配置系统会有一些困难,但是更有经验的用户会喜欢这种方式的透明性和灵活性。 Slackware 的很多特性体现出了KISS原则,最为有名的例子就是不依赖图形界面的文本化系统配置,传统的服务管理方式和不解决依赖的包管理。



FreeBSD

在这里插入图片描述
FreeBSD是一种类UNIX操作系统,是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支。FreeBSD 为不同架构的计算机系统提供了不同程度的支持。并且一些原来BSD UNIX的开发者后来转到FreeBSD的开发,使得FreeBSD在内部结构和系统API上和UNIX有很大的兼容性。由于FreeBSD宽松的法律条款,其代码被好多其他系统借鉴包括苹果公司的OS X,正是由于OS X的UNIX兼容性,使得OS X获得了UNIX商标认证。

FreeBSD支持amd64(x86_64)、X86(i386)、ARM、AArch64、IA-64、PowerPC、PC-98、SPARC等架构(不同版本支持有所不同)(详细情况见官方文档)。



发布了91 篇原创文章 · 获赞 174 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/weixin_44685869/article/details/104627362