VMware 虚拟机下给新装的CentOS7安装Python3.7.2

1. 安装环境

虚拟机:VMware Pro12
Linux版本:Centos 7 注意我安装时选择的是Service GUI的安装版本,所以自带pip和wget,如果你安装的没有pip自行度娘,安装pip和 wget。

2. 备份CentOS7

方便后面安装出问题回复最初的CentOS7状态,操作“虚拟机"=>“快照”=>”拍摄快照",如下图
VMware 虚拟机下给新装的CentOS7安装Python3.7.2

以下每一步都可以制作快照,到时哪步出问题了直接恢复到上一步的状态就可以了。

3. 安装相关包

在安装相关包之前先用ping www.baidu.com 看看网络是否畅通,如果网络不通先度娘把网络连上。
我们继续:

# 查看目前的python在系统的位置
[[email protected] ~]# whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
# 转到python所在目录
[[email protected] ~]# cd /usr/bin
[[email protected] bin]# ll python*
lrwxrwxrwx. 1 root root 7 Jan 12 00:27 python -> python2
lrwxrwxrwx. 1 root root 9 Jan 12 00:27 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Apr 11 2018 python2.7
# 安装相关包
[[email protected] bin]# yum install zlib-devel bzip2-devel openssl-devel nvurses-devel sqlite-devel readline-devel tk-devel gcc make

4. 下载python3.7.2的源码包

[[email protected] bin]# wget https://python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz

5. 编译python3源码包

# 解压
[[email protected] bin]# xz -d Python-3.7.2.tar.xz
[[email protected] bin]# tar -xf Python-3.7.2.tar
# 进入解压后的目录,然后安装
[[email protected] bin]# cd Python-3.7.2
[[email protected] Python-3.7.2]# ./configure prefix=/usr/local/python3
[[email protected] Python-3.7.2]# make && make install
# 报错
ModuleNotFoundError: No module named '_ctypes'
# 这是因为3.7版本需要一个新的包libffi-devel,把这个包安装即可
[[email protected] Python-3.7.2]# yum install libffi-devel -y
[[email protected] Python-3.7.2]# make install

如果没有报错,表示正确安装了。在/usr/local/目录下会有python3目录

6. 添加软链接

# 备份原来的链接
[[email protected] Python-3.7.2]# mv /usr/bin/python /usr/bin/python.bak
# 添加python3的软链接
[[email protected] Python-3.7.2]# ln -s /usr/local/python3/bin/python3.7 /usr/bin/python
如果出现报错”ln: failed to create symbolic link '/usr/bin/python': File exists“,说明已经存在链接,删除原链接重新链接即可,删除命令[[email protected] Python-3.7.2]# rm -rf /usr/bin/python,再执行[[email protected] Python-3.7.2]# ln -s /usr/local/python3/bin/python3.7 /usr/bin/python
# 测试安装是否成功
[[email protected] Python-3.7.2]# python -V
Python 3.7.2
# 添加pip的软链接
[[email protected] Python-3.7.2]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
[[email protected] Python-3.7.2]# pip -V
pip 18.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)

7. 更改yum设置,因为要用python2才能执行,否则无法使用yum

[[email protected] Python-3.7.2]# vim /usr/bin/yum
然后按[e]==>[i] 把#! /usr/bin/python修改为#! /usr/bin/python2,再按[Esc],输入":wq"保存退出
[[email protected] Python-3.7.2]# vim /usr/libexec/urlgrabber-ext-down
然后按[e]==>[i] 把#! /usr/bin/python修改为#! /usr/bin/python2,再按[Esc],输入":wq"保存退出

VMware 虚拟机下给新装的CentOS7安装Python3.7.2

8. 参考资料

[参考一](https://blog.csdn.net/lovefengruoqing/article/details/79284573)
[参考二](https://blog.csdn.net/qq_36416904/article/details/79316972)
[参考三](https://blog.csdn.net/dpengwang/article/details/81211909)

9. 后记

你跟我的情况很有可能不同,每一步记得快照备份,遇到报错不用急,记得度娘或者Google,祝你也能和我一样顺利安装!