Python2 与 Python3 共存

绝大多数的Linux系统安装后,Python解释器就已经默认存在了。可以直接输入python打开交互式python解释器

>>> Python 命令提示符

退出交互式解析器:快捷键:Ctrl+d 或者 quit()

python3 依赖组件:

yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++

下载 Python 源码包

https://www.python.org/ftp/python/

wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
tar -xf Python-3.6.8.tgz
cd Python-3.6.8
./configure --prefix=/usr/local/
make
# 查看README文件,如果想要同时拥有两个Python版本,安装时可以选择:make altinstall
make altinstall

安装完成

type -a python3.6

安装完成后产生的相关文件:

python3.6 程序的执行文件: /usr/local/bin/python3.6
python3.6 应用程序目录: /usr/local/lib/python3.6:
pip3 的执行文件: /usr/local/bin/pip3.6:
pyenv3 的执行文件: /usr/local/bin/pyenv-3.6:

此时输入 python 进入的还是默认python2.7的版本,还需要执行以下操作
修改前先查看python执行文件的各链接情况


cd /usr/bin/
rm -f python
ln -s /usr/local/bin/python3.6 /usr/bin/python
ln -s /usr/local/bin/python3.6 /usr/bin/python3

# python:默认进入python3
# python2:进入python2.7

修复 Yum

修改后 yum 不能用了,会报一个语法无效的错误

/usr/bin/yum*
/usr/libexec/urlgrabber-ext-down

方法1:将这些文件中所有的 except 写法改成 Python3 的

方法2:修改第1行的解析器声明为:python2

这里选择第2个

sed -i s#/usr/bin/python#/usr/bin/python2# /usr/bin/yum* /usr/libexec/urlgrabber-ext-down

验证