安装python3

安装依赖

yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

安装pip

#添加epel扩展源
yum -y install epel-release
#安装pip
yum install -y python-pip
#用pip安装wget
pip install wget
#用wget下载源码
wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tar.xz

编译安装

#解压
xz -d Python-3.7.6.tar.xz
tar -xf Python-3.7.6.tar
#进入解压后的目录,依次执行下面命令进行手动编译
cd Python-3.7.6
./configure prefix=/usr/local/python3
make && make install
# 如果出现can't decompress data; zlib not available这个错误,则需要安装相关库
#安装依赖zlib、zlib-devel
yum install zlib zlib-devel

如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录

python共存

centos默认自带python2,有些系统程序是使用python2的,如yum,如果将系统的python命令指向python3,会使yum无法使用。有两种方法可以解决共存:

1、添加环境变量

原本的python命令不变,让新装的Python3.6用python3命令调用

vim /etc/profile
export PATH=$PATH:/usr/local/python3/bin/

source /etc/profile

2、添加软链接

!这种方法不推荐!

确认本机python位置

centos7 自带有 python,版本是python2.7

whereis python
python: /usr/bin/python2.7 /usr/bin/python /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz

可以知道我们的python在 /usr/bin目录中

可以看到,python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python指向python3,然后python2指向python2.7,那么两个版本的python就能共存了。

#将原来的链接备份
mv /usr/bin/python /usr/bin/python.bak
#添加python3的软链接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python
#测试是否安装成功了
python -V
修改

更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用

vi /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改为#! /usr/bin/python2
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。