RHEL 8使用yum安装Python 3或者Python 2

时间:2020-01-09 10:43:17  来源:igfitidea点击:

如何在RHEL 8上安装Python 3 for Ansible IT自动化工具。
如何在RHEL 8上安装Python 3?
是否可以在RHEL 8上为旧版应用程序安装Python 2?
红帽企业Linux(RHEL 8)默认不安装Python 3或者2,因为红帽不想设置默认值。
但是,系统管理员可以根据需要使用各种方法安装Python 3或者2。

本教程将学习"如何使用yum命令在RHEL 8上安装Python 3或者Python 2.7"。

如何在RHEL 8上安装Python 3/Python 2.7

在RHEL 8上安装Python 3的过程如下:

  • 打开终端应用程序或者窗口,在RHEL 8中搜索python包,运行:sudo yum search python3
  • 要在RHEL 8上安装python 3,请运行:sudo yum install python3
  • 要在RHEL 8上安装python 2,请运行:sudo yum install python2
  • 在RHEL 8中升级python 3,运行:sudo yum upgrade python3
  • 在RHEL 8中升级python 2,运行:sudo yum upgrade python2

让我们详细查看所有命令和示例。

如何在RHEL 8上找出Python套件名称

尝试使用以下任何一种语法以及grep命令:

sudo yum search python3 | more
sudo yum search python2 | more
sudo yum search python36
sudo yum search python2 | grep 'python2.x86_64'

您还可以在安装软件包之前显示详细信息:

sudo yum info python2.x86_6
sudo yum info python36

RHEL 8安装Python 3

执行以下yum命令以在Red Hat Enterprise Linux版本8上安装Python 3:

sudo yum install python3

或者

sudo yum module install python36

通过执行type command/command命令来验证安装:

$ type -a python3
`python3 is /usr/bin/python3`
$ command -V python3
`python3 is hashed (/usr/bin/python3)`
$ python3 --version
`Python 3.6.6`

Python 3中的示例脚本

创建一个名为test.py的文件:

#!/usr/bin/python3
import os, time
print("This is a test code for Python3")
print("Hello %s, let us be friends!" % os.environ["USER"])
print("Today is %s" % time.strftime("%c"))

如下运行:

$ chmod +x test.py
$ ./test.py

Ansible用户注意事项

如下在控制节点上设置主机文件,以将Ansible用作RHEL 8服务器的自动化工具:

[all:vars]
ansible_user=Hyman
ansible_port=22
ansible_python_interpreter='/usr/bin/env python3'

现在像往常一样运行它:

ansible-playbook -i hosts tasks/7-secure-rhel8-vm.yml

RHEL 8安装Python 2

让我们看看如何在RHEL 8上安装Python 2.7:

sudo yum install python27

或者

sudo yum module install python27

让我们找出有关在RHEL 8中安装的Python 2.7版本的信息:

$ type -a python2
$ command -V python2
$ python2 --version

我可以在RHEL 8上同时安装Python 3.6和Python 2.7吗?

是。
可以同时安装两个版本:

sudo yum module install python36 python27

输出示例:

Updating Subscription Management repositories.
Updating Subscription Management repositories.
Last metadata expiration check: 0:09:22 ago on Tuesday 05 March 2019 02:09:48 PM EST.
Dependencies resolved.
========================================================================================
Package Arch   Version                     Repository                             Size
========================================================================================
Installing group/module packages:
python36
         x86_64 3.6.6-17.el8+2102+a4bbd900  rhel-8-for-x86_64-appstream-beta-rpms  22 k
python2 x86_64 2.7.15-15.el8+2103+c6cdb4cb rhel-8-for-x86_64-appstream-beta-rpms 106 k
python2-pip
         noarch 9.0.3-10.el8+2056+8b2f0fde  rhel-8-for-x86_64-appstream-beta-rpms 2.0 M
python2-setuptools
         noarch 39.0.1-10.el8+1958+74bcdd68 rhel-8-for-x86_64-appstream-beta-rpms 643 k
python2-libs
         x86_64 2.7.15-15.el8+2103+c6cdb4cb rhel-8-for-x86_64-appstream-beta-rpms 6.0 M
Installing module profiles:
python27/default
 
python36/default
 
 
Transaction Summary
========================================================================================
Install  5 Packages
 
Total download size: 8.7 M
Installed size: 36 M
Is this ok [y/N]:

如何在RHEL 8上设置Python的默认版本?

可以通过运行简单的命令将Python 3设置为默认值:

sudo alternatives --set python /usr/bin/python3
python --version

输出示例:

Python 3.6.6

同样,可以从bash shell将Python 2设置为基于RHEL 8的桌面或者服务器环境的默认版本:

sudo alternatives --set python /usr/bin/python2
python --version

如何在RHEL 8上删除python default?

语法很简单:

sudo alternatives --remove python /usr/bin/python2

或者

sudo alternatives --remove python /usr/bin/python3