centos退出python_Centos7系统切换Python2到Python3.x

CentOS7系统现有python版本

我们先来查看一下安装的CentOS 7操作系统中python的版本情况。直接在命令行上输入python:

[cao@localhost ~]$ python

Python 2.7.5 (default, Apr 2 2020, 13:16:51)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

可以看到,Centos7系统目前自带python的版本为2.7.5。

同时可以使用linux命令whereis python来查看python安装路径:

[cao@localhost ~]$ 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

鉴于python2版本已经得不到python社区的支持,而且大部分第三方库均支持python3(具体的说,有些库要求python3.5及其以上版本),因此在linux中使用python时还是需要升级到python3。

2. Python linux下载安装介质

这里的python3泛指python3.0以上版本,也就是非python2版本。不过受python语言版本的不断升级,在使用python3版本时我们一方面要使用较新的版本,同时也考虑其稳定性,因此这里我们将下载安装和使用python3.7版本。

下载方式有两种:可以直接在虚拟机里使用linux命令wget来下载,或者先从python官网上下载python linux版本,然后ftp上传到虚拟机里。两种方式对应的python程序下载地址均为:

需要提示的是,python的下载安装建议都使用超级管理员root账户来操作。

步骤1:先切换为root用户,使用yum工具安装wget

[cao@localhost ~]$ su -

Password:

Last login: Sat Jun 13 14:02:57 CST 2020 on tty1

[root@localhost ~]# yum install -y wget

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

* base: mirrors.huaweicloud.com

* extras: mirrors.huaweicloud.com

* updates: mirrors.huaweicloud.com

…… (省略中间过程)

Package wget-1.14-18.el7_6.1.x86_64 already installed and latest version

步骤2:使用wget来下载python3.7

[root@localhost ~]# wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz

--2020-06-14 05:06:17-- https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz

Resolving www.python.org (www.python.org)... 151.101.228.223, 2a04:4e42:1a::223

Connecting to www.python.org (www.python.org)|151.101.228.223|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 22897802 (22M) [application/octet-stream]

Saving to: ‘Python-3.7.2.tgz’

100%[======================================>] 22,897,802 73.2KB/s in 3m 59s

2020-06-14 05:10:18 (93.8 KB/s) - ‘Python-3.7.2.tgz’ saved [22897802/22897802]

[root@localhost ~]# ll

total 22368

-rw-------. 1 root root 1431 Jun 10 21:05 anaconda-ks.cfg

-rw-r--r--. 1 root root 22897802 Dec 24 2018 Python-3.7.2.tgz

如果执行wget没有响应,说明是yum源的问题,需要替换centos默认自带的源。

首先备份自带的repo:

[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

然后使用curl命令下载网易镜像源:

[root@localhost yum.repos.d]# curl http://mirrors.163.com/.help/CentOS7-Base-163.repo -o CentOS7-Base-163.repo

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 1572 100 1572 0 0 13979 0 --:--:-- --:--:-- --:--:-- 14035

接下来运行makecache命令生成缓存:

[root@localhost yum.repos.d]# yum clean all

Loaded plugins: fastestmirror

Cleaning repos: base extras updates

Cleaning up list of fastest mirrors

[root@localhost yum.repos.d]# yum makecache

升级yum操作:

[root@localhost yum.repos.d]# yum update –y

然后重新下载安装wget:

[root@localhost yum.repos.d]# yum install -y wget

3. Centos系统安装python3

首先解压python安装包:

[root@localhost ~]# tar -zxf Python-3.7.2.tgz

[root@localhost ~]# ll

total 22372

-rw-------. 1 root root 1431 Jun 10 21:05 anaconda-ks.cfg

drwxr-xr-x. 18 501 501 4096 Dec 24 2018 Python-3.7.2

-rw-r--r--. 1 root root 22897802 Dec 24 2018 Python-3.7.2.tgz

然后进入解压目录进行配置:

[root@localhost Python-3.7.2]# ./configure --with-ssl

执行编译和安装:

[root@localhost Python-3.7.2]# make

[root@localhost Python-3.7.2]# make install

上述四步一步步执行即可,正常情况下不会报错,如果在make install执行后出现了 ModuleNotFoundError: No module named ‘_ctypes’ 错误,则安装一下依赖库:

yum –y install libffi-devel tk-devel

安装好后,重新执行make intall即可。

4. Python3配置连接

4.1 设置python3的软连接

可以先使用whereis来查看python3通过编译安装后存放的路径。可以看出都在usr/local目录下:

[root@localhost ~]# whereis python3

python3: /usr/lib/python3.7 /usr/local/bin/python3.7m /usr/local/bin/python3.7 /usr/local/bin/python3.7m-config /usr/local/bin/python3 /usr/local/bin/python3.7-config /usr/local/lib/python3.7

然后进入/usr/bin目录先删除原有指向python2的软连接python,然后将python3.7与python建立软连接。

进入/usr/bin目录:

[root@ localhost bin]# pwd

/usr/bin

将原有python执行程序备份:

[root@ localhost bin]# mv python python-bk

添加python3.7的软连接:

[root@ localhost bin]# ln -s /usr/local/bin/python3.7 /usr/bin/python

4.2 验证python版本

验证python现在的版本:

[root@ localhost bin]# python -V

Python 3.7.2

退出root账户,在普通用户终端输入python:

[cao@localhost ~]$ python

Python 3.7.2 (default, Jun 14 2020, 05:36:10)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> print("hello")

hello

可以看到python3已经可以正常使用了。

4.3 解决yum安装解析问题

因为yum采用python作为命令解释器,现在设置了python3.7为/usr/bin/python的软连接,因此再运行yum时会报错:

[root@big01 ~]# yum

File "/bin/yum", line 30

except KeyboardInterrupt, e:

^

SyntaxError: invalid syntax

此时需要取修改yum对应的解释器:进入root账户,编辑 vi /usr/bin/yum后:

将第一行语句#!/usr/bin/python 修改为 #!/usr/bin/python2.7

同时修改urlgrabber-ext-down 文件即: vi /usr/libexec/urlgrabber-ext-down,同样将第一行语句#!/usr/bin/python 修改为 #!/usr/bin/python2.7即可。

上述两个文件修改后,再来运行yum应该就正常了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值