Python云原生:构建应对海量用户数据的高可扩展Web应用(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-19 04:58:22

点击下载

作者:宋净超

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Python云原生:构建应对海量用户数据的高可扩展Web应用

Python云原生:构建应对海量用户数据的高可扩展Web应用试读:

前言

随着当今商业的迅速发展,企业为了支撑自身的迅速扩张,仅仅依靠自有的基础设施是远远不够的。因此,他们一直在追求利用云的弹性来构建支持高度可扩展应用程序的平台。

本书是你一站式地了解使用Python构建云原生应用架构的理想读本。本书首先介绍了什么是云原生应用架构以及它们能够帮助你解决哪些问题。然后介绍了如何使用REST API和Python构建微服务,并通过事件驱动的方式构建Web层。接下来,探讨了如何与数据服务进行交互,并使用React构建Web视图。之后详细介绍了应用程序的安全性和性能,以及如何在Docker中容器化你的服务。最后,讨论了如何在AWS和Azure平台上部署你的应用程序。在部署了应用程序后,围绕应用程序故障排查的一系列概念和技术结束了这本书。

本书内容

第1章 云原生应用和微服务简介,讨论云原生架构的基本概念和构建应用程序开发环境的方法。

第2章 使用Python构建微服务,构建自己的微服务知识体系并根据用例进行扩展。

第3章 使用Python构建Web应用,构建一个初始的Web应用程序并与微服务集成。

第4章 与数据服务交互,教你如何将应用程序迁移到不同的数据库服务。

第5章 使用React构建Web视图,讨论如何使用React构建用户界面。

第6章 使用Flux来构建UI以应对大规模流量,帮助你理解如何使用Flux创建可扩展的应用程序。

第7章 事件溯源与CQRS,讨论如何以事件形式存储合约(transaction)。

第8章 Web应用的安全性,讨论如何让你的应用程序免受外部威胁。

第9章 持续交付,介绍应用程序频繁发布的相关知识。

第10章 应用容器化,讨论容器服务和在Docker中运行应用程序的方法。

第11章 部署到AWS云平台,教你如何在AWS上构建基础设施并建立应用程序的生产环境。

第12章 部署到Azure云平台,讨论如何在Azure上构建基础设施并建立应用程序的生产环境。

第13章 监控云应用,介绍不同的基础设施和应用的监控工具。

阅读准备

你需要在系统上安装Python,和一个文本编辑器,最好是Vim、Sublime或者Notepad++。你需要下载POSTMAN,这是一个功能强大的API测试套件,可以作为Chrome扩展插件来安装,可以从这里下载:https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en。

除此之外,如果你还有如下Web应用的账号那就更好了:

· Jenkins

· Docker

· Amazon Web Services

· Terraform

如果没有以上账号,本书将指导你创建这些Web应用账号。

目标读者

本书适用于具有一些Python基础、熟悉命令行和HTTP应用程序基本原理的开发人员。对于那些想要了解如何构建、测试和扩展Python应用程序的人员来说,本书是一个理想选择。不需要有使用Python构建微服务的经验。

排版约定

在本书中,你会发现有许多类型的文本样式用于区分不同类型的信息。以下是这些样式的例子和含义解释。

文中的代码、数据表、目录名、文件名、文件扩展名、路径名、虚拟URL、用户输入和Twitter将会如下显示:“创建一个signup路由,其将采用GET和POST方法来读取页面,并将数据提交到后端数据库。”

代码块排版如下:

命令行输入/输出将按如下格式排版:

新术语与重要词汇以粗体显示。你在屏幕上看到的字,例如,对于在菜单或对话框中出现的条目将这样来描述:“单击Create user按钮,创建用户,并在其上附加策略。”警告或者重要提醒。提示和技巧。

读者服务

轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。· 下载资源:本书如提供示例代码及资源文件,均可在 下载资源 处下载。

· 提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。

· 交流互动:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。

页面入口:http://www.broadview.com.cn/341771 云原生应用和微服务简介

我们开始吧!在开始构建应用程序之前,我们需要先回答以下几个问题:

· 什么是云计算?包括哪些类型?

· 什么是微服务?它的基本概念是什么?

· 有哪些最佳实践?

在开始编写应用程序之前,本章我们先来了解应用程序开发者和程序员应该理解的基本概念。

首先来了解一下系统的构建及其演变。

长久以来,人们一直在探索如何以更好的方式来构建程序框架。随着技术的发展和更新、更好技术的采用,IT框架变得更加可靠,对客户(或者顾客)来说也更加高效,同时还能使工程师们更加愉悦地工作。

持续交付有助于我们将软件开发周期转移到生产中,能够让我们从不同的视角识别出软件中容易出错的部分。我们坚定这样的理念:认真考虑每次代码提交,因为每次提交都有可能最终发布到生产。

我们已经深刻体会到了利用Web来进行机器之间的交互带来的便利。虚拟化平台能够让我们自由安排和调整机器的大小,利用基础计算单元来提供大规模处理这些机器的方法。一些大型高效的云平台(如Amazon、Azure和Google)已经接受了小组织拥有其服务的全部生命周期的观念。诸如领域驱动设计(DDD)、持续交付(CD)、按需请求虚拟化、基础设施自动化、小型自治组织和规模化系统等概念,这些特征可以有效地促进我们高效地开发软件并将其投入到生产。而现在,微服务的概念已经崛起。这不是脱离实际开发而编造出来的;它是一种实际的模式,或者说是一种因为实用而崛起的模式。本书我们先从云计算的类型讲起,以说明如何创建、监控和推进微服务。

许多组织都发现,掌握了细粒度的微服务结构,就可以快速将其转化为程序,了解更多的最新进展。微服务能使我们从根本上更灵活地应对和解决各种选择,让我们迅速适应变化,快速作出反应。云计算简介

在开始介绍微服务和云原生概念之前,我们先来了解一下什么是云计算。

云计算是一个宽泛的术语,它的范围十分宽广。每当一个领域发生巨大变革的时候,就会存在很多的炒作,云就是这样一个热点领域,许多商家将本来与其风马牛不相及的事物牵强附会。由于云存在广泛的施展空间,组织可以选择何时、何地和如何使用云计算。

可以将云计算服务划分为以下几种类型。

· SaaS:终端用户可以直接使用的应用程序。

· PaaS:工具和服务的集合,其对于那些想要快速构建应用程序或快速将应用程序部署到生产环境,而不关心底层硬件的用户和开发者来说特别有用。

· IaaS:针对想要建立自己的商业模式并进行自定义的客户提供的类型。

云计算,作为一个技术栈,我们可以这样来解释它:

· 当我们谈及云计算时经常指的是一个技术栈,其涵盖了广泛的服务,其中很多服务是建立在其他服务的基础之上的,例如云。

· 云计算模式被认为是不同的可配置的计算资源的集合(例如服务器、数据库和存储),它们之间互相通信,几乎可以在无须人为监督的情况下提供给用户。

下图展示了云计算技术栈中包括的组件。

下面我们通过用例来详细了解云计算中的各个组件。软件即服务

下面描述了SaaS的要点。

· 软件即服务(SaaS)使用户能够通过浏览器访问由提供商提供的基于互联网提供服务的软件。这些服务是订阅式的,也被称为按需软件。

· 提供SaaS的公司产品包括Google Docs生产力套件、Oracle CRM(客户关系管理)、微软及其Office365产品,以及Salesforce CRM和QuickBooks。

· SaaS可以进一步细分为垂直SaaS和水平SaaS,前者侧重于医疗保健和农业等特定行业的需求,后者专注于软件行业,例如人力资源和销售。

· SaaS基本上是针对那些想要快速获取现成软件和应用的组织而言的,这些应用即便是非技术人员也能理解和使用。组织基于对该软件的用途和预算,可选择不同的支持套餐。此外,你可以从世界的任何可以连接到互联网的地方访问这些服务。平台即服务

下面描述了PaaS的要点。

· 对于PaaS产品,组织或企业无须担心其内部应用程序的硬件和软件基础设施的管理问题。

· PaaS的最大优点是为开发团队(本地或远程)提供一些可能性,他们可以在通用框架上有效地构建、测试和部署应用程序,其中底层硬件和软件由PaaS服务提供商提供。

· PaaS提供商提供平台,同时提供围绕该平台的服务。

· PaaS提供商包括Amazon Web Services(AWS Elastic Beanstalk)、微软Azure (Azure Websites)、Google App Engine和Oracle(Big Data Cloud Service)。基础设施即服务

下面描述了IaaS的要点。

· 与SaaS产品不同的是,IaaS向客户提供的是IT资源,例如运行应用程序的裸机、用于存储的硬盘和用于联网的网络电缆,用户可以根据业务模式自定义。

· 对于IaaS产品,由于客户可以完全访问其基础设施,故他们可以根据其应用需求扩展IT资源。在IaaS产品中,客户必须管理应用程序/资源的安全性,并且在突发故障/崩溃时构建灾难恢复模型。

· 在IaaS中,服务是按需提供的,客户在使用时需要付费。因此,客户需要对资源进行成本分析,进行成本控制防止超出预算。

· 允许客户/消费者根据应用程序的要求定制其基础架构,在销毁基础架构后能够快速有效地重建。

· IaaS服务基本上是按需付费的,这意味着你可以随时付款。IaaS将根据你的资源使用情况和使用时间来收取费用。

· Amazon Web Services,提供亚马逊弹性计算云(Amazon EC2)和亚马逊简易存储服务(Amazon S3),是该云产品的第一大门户;然而,Microsoft Azure(虚拟机)、Rackspace(虚拟云服务器)和Oracle(裸机云服务)也有这样的产品。云原生概念

云原生是一种团队、文化和技术组织形式,利用自动化工具和架构来管理软件复杂度和加速软件交付。

云原生概念已经超出了技术的范畴。我们需要从成功的公司、团队和个人身上了解行业的发展方向。

目前,像Facebook和Netflix这样的大公司都已经在云原生技术上投入了大量的资源,而一些小的公司也意识到了该技术的价值。根据云原生技术实践的反馈,我们总结了如下一些优点。

· 结果导向和团队合作:云原生的方法将一个大问题分解成众多的小问题,从而使每个团队都能专注于各自的部分。

· 减少重复工作:自动化减少了困难、繁杂和重复的手动工作量,并减少了停机时间。这将使系统更有效率。

· 可靠而高效的应用程序基础设施:自动化可以对不同环境(无论是开发、阶段发布还是生产)中的部署做更多控制,还可以处理意外事故。自动化构建不仅有助于正常部署,而且在灾难恢复的时候,也能使重新部署变得更加容易。

· 应用程序洞察:为云原生应用程序构建的工具可为应用程序提供更多洞察,从而使调试、故障排查和审计变得容易。

· 高效可靠的安全性:每个应用程序都会关注安全性,确保可靠的身份验证。云原生为开发人员提供了多种确保应用程序安全性的方式。

· 经济高效的系统:使用云管理和部署应用程序可以有效地利用资源,包括应用程序发布,通过减少资源浪费使系统花费更合理。云原生为何物?为何重要

云原生是一个宽泛的术语,它可以充分利用不同的技术,如基础架构自动化或中间件开发、支持服务等,这些功能都属于应用交付周期中的一部分。云原生方法包括频繁的版本发布(无Bug、稳定),以及根据业务需求扩展应用程序。

使用云原生方法,可以系统地实现应用程序构建目标。

云原生方法远优于传统的面向虚拟化的业务流程,传统方法需要投入大量的精力来构建开发环境,以及软件交付过程中的其他不同环境。理想的云原生架构应具有自动化和组合功能,这些自动化技术还应实现跨平台管理和部署应用程序。

云原生架构还应该具有其他几个特性,如稳定的日志记录、应用程序和基础架构监控,以确保应用程序正常运行。

云原生方法能够帮助开发人员使用例如Docker等工具,在不同的平台上轻易地创建和销毁应用程序。云原生运行时环境

当软件从一个计算环境迁移到另一个计算环境时,该如何使其可靠运行?最佳解决方案就是使用容器。这可能是从开发者自己的机器到预发布环境再到生产环境,也可能是从物理机到私有云或公共云中的虚拟机。Kubernetes已经成为容器服务的代名词,越来越流行。

随着云原生框架的兴起和其周边应用程序的增加,容器的编排越来越受人关注。在容器运行时需要注意以下几点。

· 管理容器状态和高可用性:一定要保持容器的状态(创建和销毁),特别是在生产中,因为从业务的角度看它们非常重要。而且还应该能够根据业务需求进行扩展。

· 成本体现和分析:容器可以根据业务预算控制资源管理,并可在很大程度上降低成本。

· 环境隔离:在容器内运行的每个进程都被隔离在该容器内。

· 跨集群的负载均衡:应用流量由容器集群处理,在容器内均匀重定向,这将增加应用程序最大响应数量并维持高可用性。

· 调试和灾难恢复:由于我们要在生产系统中使用,所以需要确保有正确的工具可以监控应用程序的运行状况,采取必要措施避免停机,并提供高可用性。云原生架构

云原生架构类似于我们为遗留系统创建的应用程序架构,但在云原生应用程序架构中,我们应该考虑一些特性,例如十二要素应用程序(应用程序开发模式的集合)、微服务(将单体业务系统分解为独立可部署服务)、自服务敏捷基础设施(自服务平台)、基于API的协作(通过API进行服务之间的交互)和抗脆弱性(自我实现和加强的应用程序)。

首先,我们来探讨一下什么是微服务。

微服务是一个更宽泛的术语,指将大型应用程序分解成更小的模块,分别开发直到发布。这种方法不仅有助于有效地管理每个模块,而且还可以帮助我们发现服务底层本身的问题。以下是微服务的一些关键部分。

· 用户友好的界面:微服务之间可以实现明确的分离。微服务的版本控制可以更好地对API进行控制,为消费者和生产者提供更大的自由度。

· 跨平台部署和API管理:由于每个微服务都是一个单独的实体,因此可以更新单个微服务而不用更改其他服务,同时也更容易将服务回滚到之前的更改。这意味着用来部署微服务的工件应该兼容不同的API和数据模式。这些API必须在不同的平台上测试,并且测试结果应该在不同的团队,即运维、开发人员之间共享,大家共同维护一个集中的控制系统。

· 应用灵活性:开发的微服务应该能够处理所有请求且必须做出响应,而不管请求的种类如何,包括可能的错误输入或无效请求。微服务也应该能够处理意外的负载请求并进行适当的响应。所以应当对微服务进行独立测试和集成测试。

· 微服务的分布:最好将服务分为小块服务,以便单独跟踪和开发,最终组合起来形成一个微服务。这种技术使得微服务开发更稳定、更有效率。

下图显示了一个云原生应用程序的高级架构。

在理想情况下,应用程序体系结构应该从两三个服务开始,然后通过不断更新版本进行扩展。了解应用程序架构非常重要,因为应用程序需要与系统的不同组件集成,并且在大型组织中会有团队来专门管理这些组件。微服务中的版本控制至关重要,因为软件开发的各个阶段都会使用不同的方法。

微服务是一个新概念吗

微服务的概念由来已久了。微服务是一种用来划分大型系统中不同组件边界的架构模式。所有的微服务都以相似的方式工作,然后将不同服务链接起来,根据请求的类型处理特定事务的数据流。

下图描绘了微服务的体系结构。

为什么说Python是云原生微服务开发的最佳选择

为什么我们选择Python并将其推荐给其他人?下面列举了几点原因。

可读性

Python是一种表达能力很强且易学习的编程语言。即便是业余爱好者也可以轻松掌握Python。与其他编程语言(例如Java更关注圆括号、大括号、逗号和冒号)相比,使用Python你可以将更多的精力投入到编程上,减少调试语法的时间。

库和社区

Python有大量可以在不同平台(例如UNIX、Windows和OS X)上运行的库。这些库可以根据你的应用程序需求轻松扩展。同时还有一个强大的社区致力于构建这些库,这使得Python成为最适合用于业务的语言。

就Python社区而言,Python用户组(PUG)是一个基于社区开发模式的社区,这可以促进Python在全球范畴内的普及。社区中的小组成员相互交流,有助于我们构建基于Python框架的大型系统。

交互模式

Python交互模式可以帮助你在调试完代码后,立即将其添加到主程序中。

可扩展

Python提供了更好的结构和概念,如模块,这比起任何其他脚本语言(如shell脚本),可以更系统地维护大型程序。理解十二要素应用

一些实践经验更为云原生应用程序添光增彩。这些应用程序共同遵守十二要素应用程序宣言。该宣言概述了开发人员在构建现代Web应用程序时要遵循的方法。开发人员必须改变他们编码的方式,并为开发者和应用程序所运行的基础架构之间创建一个新的协议。

下面是在构建云原生应用程序时需要考虑的几个方面。

· 使用详实的设计,尽量自动化以降低时间成本和花费。

· 在不同环境(如阶段和生产)和不同平台(如UNIX或Windows)中应用程序的可移植性。

· 使用适用于云平台的应用程序,并了解资源分配和管理。

· 使用一致的环境,减少持续交付/部署中的错误,从而最大限度地发挥软件的敏捷性。

· 通过最少的监督和设计灾难恢复架构来扩展应用程序,实现高可用性。

十二个要素中有许多要素是相互影响的。强调声明性配置,聚焦于速度、安全性和规模。十二要素应用程序的基本特征如下。

· 基准代码:每份部署代码都使用版本控制追踪,并在不同的平台中部署多个实例。

· 依赖管理:应用程序应该显式声明依赖关系,并使用工具来单独管理依赖,例如Bundler、pip和Maven。

· 定义配置:不同环境中的配置(例如环境变量)可能会不同,例如开发环境、预发布环境和生产环境应该在操作系统级定义。

· 后端服务:所有资源都要被当作应用程序自身的一部分来对待。例如数据库、消息队列这样的后端服务应该被当作附加资源来看待,在所有的环境中以相同的方式被消费。

· 构建、发布、运行阶段隔离:包括构建组件、绑定配置,根据绑定的组件和配置文件启动一个或多个实例。

· 进程无状态:以一个或多个无状态进程运行应用(例如master和worker),进程实例之间不共享任何内容。

· 服务端口绑定:应用程序应当自包含,如果有任何需要对外暴露的服务,应当使用端口绑定的形式来完成(首选HTTP)。

· 扩容无状态进程:该架构应该强调基础平台中的无状态进程管理,而不是实现更复杂的应用程序。

· 进程状态管理:进程应该可以迅速地增加,并在一小段时间后正常关闭。在这些方面可实现快速可扩展性、部署更改和灾难恢复。

· 持续发布和部署到生产:保持环境一致,不论是预发布环境还是生产环境。这样可以保证在跨越不同的环境时获取相似的结果,有利于向生产环境持续交付。

· 把日志当作事件流:不论是平台级的日志,还是应用级的日志,都十分重要,因为日志可以帮助你了解应用程序背后都做了什么。

· 后台管理任务被当作一次性进程运行:在云原生的方法中,作为程序发布一部分的管理任务(例如数据库迁移)应该作为一次性进程运行,而不是作为常规应用程序长时间运行。

例如Cloud Foundry、Heroku和Amazon Beanstalk这些云平台都已为部署十二要素应用程序做了优化。

将应用程序与稳定的工程接口集成在一起,处理成无状态应用的设计,再考虑以上这些标准后,你的应用程序就可以部署到云平台了。Python以其固有的、便捷的方式加速了Web应用程序的开发。设置Python环境

全书都会用到Python环境,因此设置好开发环境是十分必要的,工欲善其事,必先利其器。

下面是本书后面部分需要用到的账号。

· 一个GitHub账号用于源代码管理。请参考链接中的文章创建:

https://medium.com/appliedcode/setup-github-account-9a5ec9 18bcc1

· AWS和Azure账号用于应用程序部署。请参考下面链接中的文章创建:

—AWS

https://medium.com/appliedcode/setup-aws-account-1727ce8 9353e

—Azure

https://medium.com/appliedcode/setup-microsoft-azure-acc ount-cbd635ebf14b

现在,我们来设置开发环境需要用到的工具。安装Git

Git(https://git-scm.com)是一款免费的开源分布式版本控制系统,旨在快速高效地处理所有小型或大型项目。

在Debian Linux发行版(例如Ubuntu)上安装Git

在Debian系统上安装Git有很多种方式。

1.使用高级包管理工具(APT):你可以使用APT包管理工具更新本地包。然后,使用下面的命令以root用户身份执行、下载和安装最新版的Git:

执行以上命令将下载并安装Git到你的系统上。

2.使用源码,可以按照下面的步骤来操作:(1)从GitHub上下载源代码,从源码中编译软件。在开始前,我们先安装Git的依赖,使用root用户执行下面的命令:(2)在安装好必要依赖后,可以去Git代码仓库(https://github.com/git/git)下载源代码,如下:(3)使用下面的命令解压下载的ZIP文件:(4)需要编译包,使用sudo用户安装。执行下面的命令:

执行以上命令将在/usr/local目录下安装Git。

在Debian发行版系统上配置Git

我们已经在系统上安装了Git,现在还需要进行一些配置,以便让每次提交包含正确的信息。

需要在配置中提供名字和电子邮件。可以使用以下命令添加这些值:

在Windows上安装Git

可以从官方网站(https://git-scm.com/download/win)下载最新版本的Git,按照以下步骤在Windows系统上安装Git:

1.下载了.exe文件后,双击运行。首先,你将会看到一个GNU证书,如下图所示。

单击Next按钮,如下图所示。

从该对话框可以看到,我们可以自定义要安装的程序,也可以使用默认配置,默认配置对于本书来说就可以了。

2.另外,可以随Git同时安装Git Bash。单击Next按钮,如下图所示。

3.在如下图所示的对话框中,可以启用Git包中的其他功能。然后单击Next按钮。

4.可以单击Next按钮,跳过其余部分,完成安装。

完成安装后,将会看到如下图所示的界面。

至此,我们就在Windows上成功地安装了Git。

使用Chocolatey

笔者更青睐于使用这种方式在Windows 10上安装Git。这种方式将安装与上面同样的包,但只需要一条命令。如果你从没听说过 Chocolatey,可以先去了解一下它。使用它安装软件仅需要一条命令,不需要在安装程序界面上点来点去!

Chocolatey十分强大,我们可以将它和Boxstarter搭配使用来创建开发环境。如果你负责为Windows开发环境的人员设置机器,这种方法绝对值得一试。

我们来看看如何使用 Chocolatey 安装 Git。这里假定大家已经安装了 Chocolatey (https://chocoiatey.org/install,只要在命令提示符中输入一行命令即可)。

执行该命令会安装Git和BASH工具并将它们加入到Path中。

在Mac上安装Git

在开始安装Git之前,需要先给OS X系统安装命令行工具。

为OS X安装命令行工具

在安装任何开发者工具前,都需要先安装 Xcode(https://developer.apple.com/xcode/),这是一个大约4GB的开发者套件。在设置GitHub时需要用到的命令行工具(如Git)就是Xcode开发者工具包中的一部分。苹果公司在Mac App Store中免费提供了这些工具。

如果你的电脑有足够的空间,那就下载安装 Xcode,因为这里面包括了完整的开发者工具集。

要下载命令行工具,需要在 develop.apple.com 上注册一个苹果开发者账号。创建完账号后,可以按照下列步骤选择命令行工具和Xcode的版本:

· 如果你使用的是OS X 10.7.x,请下载10.7的命令行工具。如果你使用的是 OS X 10.8.x,请下载10.8的命令行工具。

· 下载完成后,打开DMG文件,根据提示步骤安装。

为OS X安装Git

在Mac上安装Git就和在Windows上安装一样简单。不再使用.exe文件,而是使用dmg文件,可以从Git网站(https://git-scm.com/download/mac)下载。下面是安装步骤:

1.双击下载的dmg文件,其会在finder中打开,如下图所示。

2.双击包(图中的 git-2.10.1-intel-universal-mavericks.dmg)文件,将会打开安装向导,如下图所示。

3.单击Install按钮,如下图所示。

4.安装完成后将会看到如下图所示的界面。如果你使用的是OS X 10.8,且没有修改安全性设置来运行安装第三方应用,则在安装该工具之前需要先调整OS X的设置。安装和配置Python

现在我们开始安装Python,后面将用它来构建微服务。本书使用的是Python 3.x版本。

在Debian发行版(如Ubuntu)上安装Python

可以使用多种方式在Debian发行版上安装Python。

使用APT包管理工具

可以使用APT包管理工具更新本地的包索引。然后使用root用户下载安装最新版本的Python:

下面的包将会被自动地下载和安装,因为它们是Python 3的必备组件:

必备组件安装好了之后,将会自动下载和安装Python。

使用源码安装

可以从GitHub上下载源码编译安装,步骤如下:

1.开始安装前需要先安装Git的依赖。使用root用户执行下面的命令:

2.从Python官方网站(https://www.python.org)下载Python安装包。可以下载到指定的位置:

3.解压软件包:

4.编译源码:

5.执行上面的命令将会在/usr/local下安装Python。执行以下命令检查Python版本:

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载