CENTOS7 安装Python3.7.0

一、环境检查

1. 操作系统

 1 [root@iZuf6ac2xjnladzjv7fbo8Z bin]# cat /etc/os-release
 2 NAME="CentOS Linux"
 3 VERSION="7 (Core)"
 4 ID="centos"
 5 ID_LIKE="rhel fedora"
 6 VERSION_ID="7"
 7 PRETTY_NAME="CentOS Linux 7 (Core)"
 8 ANSI_COLOR="0;31"
 9 CPE_NAME="cpe:/o:centos:centos:7"
10 HOME_URL="https://www.centos.org/"
11 BUG_REPORT_URL="https://bugs.centos.org/"
12 
13 CENTOS_MANTISBT_PROJECT="CentOS-7"
14 CENTOS_MANTISBT_PROJECT_VERSION="7"
15 REDHAT_SUPPORT_PRODUCT="centos"
16 REDHAT_SUPPORT_PRODUCT_VERSION="7"
17 
18 
19 [root@iZuf6ac2xjnladzjv7fbo8Z bin]# uname -a
20 Linux iZuf6ac2xjnladzjv7fbo8Z 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

 2. 已安装的Python

1 [root@iZuf6ac2xjnladzjv7fbo8Z bin]# python --version
2 Python 2.7.5

 

二、源码安装

1. 获取Python3.7的源码。下载地址:https://www.python.org/ftp/python/3.7.1/Python-3.7.1rc2.tgz

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1rc2.tgz

 

2. 解压源代码

[root@iZuf6ac2xjnladzjv7fbo8Z ~]# tar zxvf Python-3.7.1rc2.tgz

 

3. 进入源代码目录

[root@iZuf6ac2xjnladzjv7fbo8Z ~]# cd Python-3.7.1rc2

 

4. 编译和安装

# 将python3.7安装到/usr/local/python3目录下
# ./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。最后会产生一个Makefile文件,供make使用
[root@iZuf6ac2xjnladzjv7fbo8Z Python-3.7.1rc2]# ./configure --prefix=/usr/local/python3 --enable-optimizations

# 编译源代码
# make 是用来编译的,它从Makefile中读取指令,然后编译。
[root@iZuf6ac2xjnladzjv7fbo8Z Python-3.7.1rc2]# make

# 安装
# make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
[root@iZuf6ac2xjnladzjv7fbo8Z Python-3.7.1rc2]# make install

5.测试

#进入python3安装目录
[root@iZuf6ac2xjnladzjv7fbo8Z Python-3.7.1rc2]# cd /usr/local/python3

#测试版本
[root@iZuf6ac2xjnladzjv7fbo8Z python3]# bin/python3 -V
Python 3.7.1rc2

  

三、替换python2

1.进入到/usr/bin目录下,可以看出python命令是一个指向python3的软连接

# 进入到/usr/bin的目录下面
[root@iZuf6ac2xjnladzjv7fbo8Z python3]# cd /usr/bin

# 查看python的状况
# 可以看出只有python2.7是可执行文件,而python、python3都是指向python2.7的软连接
[root@iZuf6ac2xjnladzjv7fbo8Z bin]# ls -al python*
lrwxrwxrwx. 1 root root 7 Oct 15 2017 python -> python2
lrwxrwxrwx. 1 root root 9 Oct 15 2017 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 Aug 4 2017 python2.7

 

2.将原来的python进行更名,然后新建python,指向python3

#备份原来的软连接
[root@iZuf6ac2xjnladzjv7fbo8Z bin]# mv python python.bak

#查看python3的可执行文件
[root@iZuf6ac2xjnladzjv7fbo8Z bin]# ls /usr/local/python3/bin
2to3              idle3.7  pydoc3.7          python3.7m         pyvenv-3.7
2to3-3.7          pip3     python3           python3.7m-config
easy_install-3.7  pip3.7   python3.7         python3-config
idle3             pydoc3   python3.7-config  pyvenv

#创建python软连接,指向python3.7
[root@iZuf6ac2xjnladzjv7fbo8Z bin]#  ln -s /usr/local/python3/bin/python3.7 /usr/bin/python

 

3. 测试

# 大功告成啦~
[root@iZuf6ac2xjnladzjv7fbo8Z bin]# python -V
Python 3.7.1rc2

 

 

四、入坑系列

1. 安装过程中依赖包问题

在make install 过程中,会发现某些依赖包找不到,请安装依赖包,然后再次执行make install

#安装依赖包样例
[root@iZuf6ac2xjnladzjv7fbo8Z Python-3.7.1rc2]# yum -y install zlib* libffi libffi-devel

# 再次安装
[root@iZuf6ac2xjnladzjv7fbo8Z Python-3.7.1rc2]# make install

 

posted on 2018-10-15 13:06  吹断纸鸢的风  阅读(175)  评论(0)    收藏  举报

导航