Linux(Centos7)系统安装Python3.6.8

Linux(Centos7)系统安装Python3.6.8教程


tips: 系统自带的python2不要卸载,一些系统命令要用,2和3可以共存。

1、首先要查看系统中有没有自带的gcc
gcc --version
2、通过wget命令下载并解压
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
tar -zxf Python-3.6.8.tgz -C /opt
3、安装依赖环境

首先说一下-devel 这个意思是软件包所对应的开发包,我们也可以看到我们所有的依赖都是软件包的开发包。zlib是一个运行库,zlib-devel包括运行库和头文件等,在需要编译C/C++程序的时候,python就会用到。

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

工具作用
zlib-develzlib是一个提供数据压缩用的函式库,这个包主要功能就是控制处理器和内存,以此来达到压缩和解压缩的目的
bzip2-devel与zlib一样是一个解压缩软件
openssl加密通讯,python的一些网页框架服务会用到,包如其名使用的是ssl协议。是一个多用途、快平台的密码工具
ncurses一个提供功能定义,屏幕绘制的图形互动动态库,vim就用到过这个包
SQLite这个应该不陌生,轻型数据库
readline提供交互式的文本编辑功能
tk提供基本的可视化界面类似于swing
gdbm提供简单的资料管理函数
db4为客户端/服务器提供嵌入式数据库支持
libpcap数据包捕获函数库,网络分接口收集数据,数据过滤器决定是否接受数据包
xz具有高压缩率的数据压缩软件
libffi提供了python调用其他语言的功能
4、编译安装
cd /opt/Python-3.6.8/ && ./configure --prefix=/usr/local/python3 --enable-optimizations && make && make install 
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
If you want a release build with all stable optimizations active (PGO, etc), please run ./configure --enable-optimizations

# 说明:
  很多教程都有最后一步,但是很少有网站会告诉你为什么会有最后一步。
  所谓软连接就相当于win下的快捷方式。你可以通过快捷方式打开你想要使用的软件。
  但是为什么要把快捷方式放在/usr/bin/呢。这就涉及到环境变量的问题了,
  你当然可以不使用最后的软连接而直接把/usr/local/python3/bin加到环境变量里面,
  那随你喜好。但是在这里/usr/bin/是默认已经在环境变量里面的,
  把快捷方式放到这个文件夹相当于间接的把该Python3加入环境变量,
  这样你才可以直接在终端输入“python3”打开Python。
# 为什么不把软连接放到桌面呢?
我觉得有两个原因:第一、无法在终端通过命令行操作Python3。第二、并不是所有的Linux系统都是图形化界面,可能没有桌面啊,亲!
至于最后一句是为pip建立软件接。pip3是Python3内置的一个软件。用来安装Python包的。比如要安装Python3的numpy包。直接在终端使用如下命令即可:
pip3 install requests

5、验证
[root@master Python-3.6.8]# python3 --version
Python 3.6.8
[root@master Python-3.6.8]# pip3 --version
pip 18.1 from /usr/local/python3/lib/python3.6/site-packages/pip (python 3.6)