教程引言:
系统地讲解计算机基础知识,Python的基础知识, 高级知识,web开发框架,爬虫开发,数据结构与算法,nginx, 系统架构。一步步地帮助你从入门到就业。
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/local/python3/bin/python3.7 /usr/bin/python3
在ln命令中,是将左边的路径设置为右边路径的软链接。 /usr/bin目录已经被添加至Linux的环境变量PATH中,所以执行python3相当于执行/usr/bin/python3。
pip是python的包管理工具,执行以下命令为pip设置软链接:
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
在后面介绍python中的模块管理时,会对pip进行详细讲解。
1.2.3 知识要点
(1) 在Linux系统的主要发行版中,按其软件包格式来进行划分,可分为Deb系以及RPM系操作系统。
(2) Deb系比较有代表性的是Ubuntu、Debian。Ubuntu主要用来做桌面操作系统,
Debian主要用来做服务器操作系统。RPM系主要用来做服务器操作系统, 比较有代表性的是Redhat、CentOS。
(3) configure是Linux中的脚本配置工具,用来对源码的当前安装环境进行检测,
若检测无误,会在当前目录生成一个供源码编译的Makefile脚本文件。
make是Linux系统下的编译安装工具,用来解释执行makefile文件中的编译以及安装命令。
1.2.4 课后习题
(1) 为什么Linux系统会有这么多分支?简述其主要原因。
(2) 源码安装与1.1节介绍的安装方式有什么区别?
(3) 请读者自行学习在windows系统中搭建一台运行Linux系统的虚拟机。