本教程面向的是零编程基础的同学,非科班人士,以及有一定编程水平的中高级程序员。
1.2.1 Linux系统分类
在python官网中同时提供了针对Linux系统的安装包,在Linux系统的主要发行版中,按其软件包格式来进行划分,可分为Deb系以及RPM系操作系统。
Linux系统与Windows系统有一个很重要的区别,Linux系统完全免费,开放源代码,所 以Linux系统才会有这么多分支。
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命令进入源码目录。
目录结构如下图所示:
(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文件中的编译以及安装命令。
(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, Django, 数据库开发, 数据结构与算法,机器学习等教程。
对本节内容不是很清楚的同学,可以加薯条老师的微信: Pretty-Style,加微信时请备注【薯条】。