准备工作
目前CentOS自带的是python2.7,而实际工作中都使用的是python3。今天就来安装一下python3
先下载python3.6.7的安装包
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
如果想使用其他版本,可以自行在下面的网站中选择
https://www.python.org/ftp/python
我们下载的是一个.tar.xz后缀的文件包,首先来解压
解压源码包,去除xz后缀
xz -d Python-3.6.7.tar.xz
解压源码包,去除tar后缀
tar -xf Python-3.6.7.tar
解决python3所需的软件依赖,如果不解决,会出现各种报错,只有解决了依赖才能正常运转,使用yum解决依赖
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
编译安装
编译安装分为三部曲,第一步,调用。源码包路径底下的configure这个脚本文件。第二步,执行make指令,开始编译。第三步,make install 安装软件
configure
我们解压完之后,文件里面会有个configure文件
这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:
./configure --prefix=/opt/python36
上面的意思是将该软件安装在 /opt/python36 下面,执行文件就会安装在 /opt/python36/bin (而不是默认的 /usr/local/bin),资源文件就会安装在/opt/python36/share(而不是默认的/usr/local/share)。
同时一些软件的配置文件你可以通过指定 --sys-config= 参数进行设定。有一些软件还可以加上 --with、--enable、--without、--disable 等等参数对编译加以控制,你可以通过允许 ./configure --help 察看详细的说明帮助。
执行完会生成一个Makefile文件,我们就可以进行编译了
这一步执行完并不会在/opt目录下生成python36文件夹,执行完第三步才会生成
make
执行下面命令
make
这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。
如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。
make 的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。
make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。
make install
执行下面命令
make install
这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)
执行完这一步才会生成一个 /opt/python36这个软件安装路径
或者以上两步可以合并成 make && make install 一步来实现
将python3加入环境变量
执行上面的代码如果没有报错,就会在/opt下生成一个python36文件夹,进到里面,有个bin目录,里面放的都是可执行的文件,里面有个python3.6的可执行文件,执行下面的命令就可以进入到交互模式了
./python3.6
每一次进入这个目录下执行比较麻烦,我们可以通过配置来快捷使用python3.
添加软链接(不推荐)
我们可以通过添加软链接的方式来快捷使用python3,这一步很麻烦,并且不适用于virtualenv的创建
ln -s /opt/python36/bin/python3.6 /usr/bin/python3 #但是这一步还没有pip ln -s /opt/python36/bin/pip3 /usr/bin/pip3
环境变量的配置(强烈推荐)
查看环境变量
echo $PATH
我们把python的目录加到环境变量就可以了
注意:把python3的环境变量放在最前面,因为path的路径查找是有优先级顺序的,并且在配置virtualenv的时候,优先以先找到的python环境为base环境
配置环境变量,永久生效,写入到文件/etc/profile中,每次登录就生效
vim /etc/profile
#将下面一行复制到/etc/profile最下面
PATH=/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
写完之后执行source让文件生效
source /etc/profile #读取这个文件,让python3生效
此时可以正确使用python3啦!
升级pip的版本
pip3 install --upgrade pip
查看pip的版本号
pip3 -V