CentOS7使用yum安装python3.8
一. Python3.6安装
CentOS7 直接安装 epel-release 包,它里面包含了 Python3.6,如果想安装更高版本的,需要用到 centos-release-scl。
# 安装 yum 仓库
$ sudo yum install epel-release
# 安装 Python3
$ sudo yum install python3
$ pip3 -V
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)
$ python3 --version
Python 3.6.8
$ python3
Python 3.6.8 (default, Nov 16 2020, 16:55:22)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print(100)
100
二. Python3.8安装
centos-release-scl 可以安装更高版本的Python3.8,而不影响现有的Python版本。
# 安装 yum 仓库
sudo yum install centos-release-scl
# 安装 Python3.8
# 安装 rh-python38-python-devel 有些Python包会依赖该库
sudo yum install rh-python38 rh-python38-python-devel
# 创建 python3.8 命令软连接
sudo ln -s /opt/rh/rh-python38/root/usr/bin/python3.8 /usr/local/bin/python3.8
[work@node1 ~]$ python3.8 --version
Python 3.8.13
[work@node1 ~]$ python3.8
Python 3.8.13 (default, Aug 16 2022, 12:16:29)
[GCC 9.3.1 20200408 (Red Hat 9.3.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print(100)
100
三. 多个版本python的pip怎么办
假设现在已经有 Python3.6,以及对应的 pip3。新安装了 Python3.8 也有对应的pip3,其实只需要一个pip3即可,我们安装包的时候都尽量使用虚拟环境,即在创建虚拟环境的时候指定 Python 的版本。
# 默认是 Python3.6 的pip3
$ pip3 -V
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)
# 使用python3.6 的 pip3 安装 virtualenv 命令
$ sudo pip3 install virtualenv
# 我们用 Python3.8 创建一个虚拟环境 airflow_env
$ virtualenv -p /usr/local/bin/python3.8 /opt/airflow/airflow_env
# 进入虚拟环境以后,pip3 自动就变成 Python3.8 版本的了,同时也是 airflow_env 专属
$ source /opt/airflow/airflow_env/bin/activate
$ pip3 -V
pip 22.3.1 from /opt/airflow/airflow_env/lib/python3.8/site-packages/pip (python 3.8)