这是一本教同学们彻底学通Python的高质量学习教程,认真地学习每一章节的内容,每天只需学好一节,帮助你成为一名卓越的Python程序员:
本教程面向的是零编程基础的同学,非科班人士,以及有一定编程水平的中高级程序员。
 
1.2.1 Linux系统分类
在python官网中同时提供了针对Linux系统的安装包,在Linux系统的主要发行版中,按其软件包格式来进行划分,可分为Deb系以及RPM系操作系统。
Linux系统与Windows系统有一个很重要的区别,Linux系统完全免费,开放源代码,所 以Linux系统才会有这么多分支。
 
Deb系比较有代表性的是Ubuntu、Debian。Ubuntu主要用来做桌面操作系统,Debian主要用来做服务器操作系统。
RPM系主要用来做服务器操作系统,比较有代表性的是Redhat、CentOS:
对Linux系统感兴趣的初学者,可以通过Vmware或者VirtulBox等工具,在windows系统中创建一个虚拟机, 
然后下载Linux系统的镜像文件,在虚拟机中运行Linux系统。
1.2.2 在Linux系统中安装python
在本节的教程中,笔者以RPM系中的CentOS系统为例,来演示如何在Linux中安装python。
请读者按照以下步骤来进行操作:
 
(1) 下载python源码包
打开python的源码包下载页面:https://www.python.org/downloads/source/
点击Latest Python 3 Release 链接,进入python源码包的下载页面。在下载页面中下滑至页面底部,再直接点击Gzipped source tarball链接,下载gzip格式的python源码压缩包:
在Linux系统中也可以直接通过wget命令在命令行中下载python3的源码包。
python源码包的下载链接:
https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
使用wget命令进行下载的用法:
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
如需下载其它版本的python,直接将链接中的版本号进行替换即可,例如下载python3.5.1:
https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
(2) 上传python源码包
将gzip压缩包通过FTP等工具上传至你的Linux系统,然后使用Linux的tar命令进行解压。
笔者下载的压缩包文件为Python-3.7.4.tgz,解压的命令为:
tar -xvzf Python-3.7.4.tgz
解压后的目录为Python-3.7.4, 在命令行中执行cd Python-3.7.4命令进入源码目录。
目录结构如下图所示:
 
初学者需要对Linux系统有一定熟悉,会使用常用命令,例如截图中的 "ls" 命令其实是英文单词"list"的缩写, 有"列出"的意思。
ls命令更多的含义及用法,读者可以查阅官方文档或善用搜索引擎。
Linux中的configure与make
configure是Linux中的脚本配置工具,用来对源码的当前安装环境进行检测,若检测无误,
会在当前目录生成一个供源码编译的Makefile脚本文件。
make是Linux系统下的编译安装工具,用来解释执行makefile文件中的编译以及安装命令。
 
(3) 生成python的Makefile文件
在当前目录Python-3.7.4下执行./configure,会生成一个Makefile文件。
使用configure命令生成Makefile文件时,可以指定--prefix参数,来指定python的安装目录。
语法形式为--prefix="你自定义的安装目录的路径",若无指定这个参数,那么python在linux中的 默认安装路径为/usr/local。
在Makefile文件中定义了源程序进行编译、链接、安装的规则,通过Makefile文件可以对项目源 程序进行自动化编译。
 
执行configure命令后的输出:
 
(4) 编译python
configure命令结束后,会在当前目录生成一个Makefile文件,然后输入 make命令源码编译python,命令输出如下图所示:
 
(5) 安装python
编译成功后,执行sudo make install 命令开始安装python,若无指定安装目录,则默认的安装目录为/usr/local, 对应的python解释器则安装于/usr/local/python3/bin目录下。
安装完毕以后,在命令行中执行/usr/local/python3/bin/python3.7 -V, 可以看到python的版本信息。
 
(6) 设置软链接
安装的python可以通过绝对路径的方式来执行,如在第6步中的/usr/local/python3/bin/python3.7,每次敲一大段路径来执行python未免麻烦。
在Linux系统中可以给安装的python设置软链接,这里的软链接类似于Windows系统的文件快捷方式。
 
执行以下命令来给python设置软链接:
ln -s /usr/bin/python3 /usr/local/python3/bin/python3.7
在ln命令中,是将左边的路径设置为右边路径的软链接。 /usr/bin目录已经被添加至Linux的环境变量PATH中,所以执行python3相当于执行/usr/bin/python3。
pip是python的包管理工具,执行以下命令为pip设置软链接:
ln -s /usr/bin/pip3 /usr/local/python3/bin/pip3.7
在后面介绍python中的模块管理时,会对pip进行详细讲解。
 
1.2.3 本节内容知识脑图
通过下面的知识脑图,来对本节的学习内容进行复习:
 
1.2.4 本节知识要点

(1) 在Linux系统的主要发行版中,按其软件包格式来进行划分,可分为Deb系以及RPM系操作系统。

(2) Deb系比较有代表性的是Ubuntu、Debian。Ubuntu主要用来做桌面操作系统, Debian主要用来做服务器操作系统。 RPM系主要用来做服务器操作系统, 比较有代表性的是Redhat、CentOS。

(3) configure是Linux中的脚本配置工具,用来对源码的当前安装环境进行检测, 若检测无误,会在当前目录生成一个供源码编译的Makefile脚本文件。 make是Linux系统下的编译安装工具,用来解释执行makefile文件中的编译以及安装命令。

 
1.2.5 课后习题

(1)为什么Linux系统会有这么多分支?简述其主要原因。

(2)源码安装与1.1节介绍的安装方式有什么区别?

(3)请读者自行学习在windows系统中搭建一台运行Linux系统的虚拟机。

 
欢迎进行学习上的交流和探讨,对本节内容有任何不懂的地方,都可以在评论下方留言,薯条老师会一一进行解答。
 

Python原来这么好学-1.2节: 在Linux中安装python的更多相关文章

  1. Python原来这么好学-1.1节: 在windows中安装Python

    这是一本教同学们彻底学通Python的高质量学习教程,认真地学习每一章节的内容,每天只需学好一节,帮助你成为一名卓越的Python程序员: 本教程面向的是零编程基础的同学,非科班人士,以及有一定编程水 ...

  2. linux中安装python

    1.首先切换目录 大型的软件一定要安装在/ opt中  规范 cd /opt 2.下载python3的源码 wget https://www.python.org/ftp/python/3.6.2/P ...

  3. linux中安装python+selenium+chrome

  4. Python原来这么好学-1.3节: 知识要点总结与内容复习

      这是一本教同学们彻底学通Python的高质量学习教程,认真地学习每一章节的内容,每天只需学好一节,帮助你成为一名卓越的Python程序员: 本教程面向的是零编程基础的同学,非科班人士,以及有一定编 ...

  5. windows和linux中搭建python集成开发环境IDE——如何设置多个python环境

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  6. 【转】windows和linux中搭建python集成开发环境IDE

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  7. linux下安装python

    在Linux下安装Python的操作相当简单,按如下步骤操作即可: 命令: wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgzt ...

  8. Linux 下安装python软件包(pip、nose、virtualenv、distribute )

    新手刚开始学习Python,目前学习<笨方法学python>ing- 在学习习题46时需要安装几个软件包:pip.nose.virtualenv.distribute !在此记录Linux ...

  9. windows中安装python

    windows中安装python 在windows中安装python的步骤如下. 1.下载python的安装包 python的安装包地址为: https://www.python.org/ftp/py ...

随机推荐

  1. GC 为什么要挂起用户线程? 什么愁什么怨?

    GC 为什么要挂起用户线程? 什么愁什么怨? 前言 JVM 系列文章的第一篇.敬请期待后续. 故障描述 某年某月某日 上午,线上发生故障,经过排查,发现某核心服务 Dubbo 接口超时. 故障根源 查 ...

  2. 论Java中的抽象类与接口

    目录 抽象类和抽象方法 定义 与普通类的区别以及注意点: 抽象类的作用 接口 定义 示例 注意 作用 最后:接口与抽象类的异同 使用场景 借鉴 抽象类和抽象方法 定义 抽象方法和抽象类都必须被abst ...

  3. 微信小程序点击图片放大

    WXML: <view class='imgList'> <view class='imgList-li' wx:for='{{imgArr}}'> <image cla ...

  4. js的alert()

    效果图: 图一: 图二: 图三: 代码: <script type="text/javascript"> // alert() ; 只允许一个参数,如果有多个参数只显示 ...

  5. Spring Boot2 系列教程 (四) | 集成 Swagger2 构建强大的 RESTful API 文档

    前言 快过年了,不知道你们啥时候放年假,忙不忙.反正我是挺闲的,所以有时间写 blog.今天给你们带来 SpringBoot 集成 Swagger2 的教程. 什么是 Swagger2 Swagger ...

  6. String中文字符转码

    如何使用String构造方法和String.getBytes()做好中文字符转码 @Test public void test() { String testStr = "中"; ...

  7. scope为provided

    以下面dependency为例 1 <dependency> 2 <groupId>javax.servlet</groupId> 3 <artifactId ...

  8. 去除空白字符串trim

    let str = ' foo ' //去除开头空格 console.log(str.trimLeft()) console.log(str.trimStart()) //去除尾部空格 console ...

  9. Frameworks.Entity.Core 7

    1描述:实体基类,与业务和架构无关名称:EntityBase属性:public abstract 2描述:/ MongoDB的一些扩展方法名称:MongoExtensions修饰: public st ...

  10. 嗯 想写个demo 苦于没数据

    step 1: 来点数据: 各种数据 随你便了. step 2: 来个 服务端 step 3 : 客户端 调用