在centos7中安装和启用不同版本的Python的方法

本文章将指导您使用SCL(Software Collections)在Centos7上安装并使用Python3,并且不影响Centos7默认Python2.7环境的使用。

官方资源

SCL

启用Software Collections(SCL)仓库

1
sudo yum install centos-release-scl

图片1

在centos7中安装Python

现在我们能够访问SCL仓库来安装任意需要的Python版本,以Python3为例,目前提供了如下几个版本

Python 3.3
Python 3.4
Python 3.5
Python 3.6

我们将使用如下的命令来安装Python 3.6,在命令终端中输入:

1
sudo yum install rh-python36

图片2

使用Python3

在这之前,我们先输入下面的命令检查一下Python版本

1
python --version

图片3

现在这个结果是当前Shell中Centos7默认的python版本,为了使用刚才安装的python3.6,您需要使用下面的命令来运行

1
sudo scl enable rh-python36 bash

这个时候如果我们再次使用python --version检查发现python版本已经变为python3.6,在这个bash会话中,默认的python会被切换为3.6版本,直到你输入exit,退出会话。
注意:输出的这个版本仅在当前的bash会话中有效,如果您关闭当前bash会话尝试另开新的bash会话,其Python版本将仍然是默认的Python2.7版本
图片4
图片6

额外命令

查看已安装的scl包

1
scl --list

图片5

列出scl仓库中的python相关包

1
sudo yum list rh-python\*

使用Python做开发

安装开发工具库

在构建Python modules的使用需要相关的工具库,使用下面的命令安装

1
sudo yum groupinstall 'Development Tools'

创建Python虚拟环境

Python虚拟环境允许您为项目指定不同的Python版本,现在我们在主目录创建一个名为my_new_project的Python3项目目录,并为其设定python虚拟环境。

1
2
mkdir ~/my_new_project
cd ~/my_new_project

图片7
激活python3.6
1
scl enable rh-python36 bash

在项目根目录创建名为my_project_venv的虚拟环境
1
python -m venv my_project_venv

图片8
通过下面的命令来激活python虚拟环境
1
source my_project_venv/bin/activate

激活后,在shell界面中将会带上对应命名的环境名称前缀。
图片9

结束