1. 在可以连接互联网的centos服务器上下载python3安装包和依赖包
a. 在python官网下载python3包,或者用centos可连接互联网的机器wget命令下载:
cd /home
wget --no-check-certificate https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
b.在互联网上下载python3的依赖包,或者用centos可连接互联网的机器下载依赖包:
yum install yum-plugin-downloadonly #安装yum-plugin-downloadonly软件包
mkdir -p /home/python3 #创建依赖包缓存目录
#下载python3依赖安装包
yum reinstall --downloadonly --downloaddir=/home/python3 zlib-devel bzip2-devel openssl-devel ncurses-devel epel-release gcc gcc-c++ xz-devel readline-devel gdbm-devel sqlite-devel tk-devel db4-devel libpcap-devel libffi-devel
2. 在内网服务器查看python安装版本以及位置
使用命令 which python 查看一下Python可执行文件的位置
一般是在/usr/bin下面
cd /usr/bin
然后备份
mv python python.bak
3.在内网服务器离线安装依赖包
将外网centos7机器上home目录下的python安装包和python3依赖包目录拷贝到内网centos服务器的home下, 在内网centos服务器上离线安装python3的依赖包
cd /home/python3
rpm -Uvh ./*.rpm --nodeps --force
3.新建一个文件夹存放python3
mkdir /usr/local/python3
然后把安装包移到文件夹里并解压进行安装
mv Python-3.7.1.tar.xz /usr/local/python3
cd /usr/local/python3
tar -xvJf Python-3.7.1.tar.xz
cd Python-3.7.1
./configure --prefix=/usr/local/python3 ## 如果这里报错的话 no c compiler的话需要加下面的# 步骤
# cd /usr/bin
# mv python.bak python
# yum install -y gcc
# mv python python.bak
# cd /usr/local/python3
# ./configure --prefix=/usr/local/python3
make && make install
4. 安装完之后创建软链接(python python2 python3)
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
然后我这里创建完之后我试着运行了一下python命令 yum in但是没有运行成功是因为我的python现在没有任何指向了我就查看一下我的链接并创建python的软链接
首先 which python
返回的可能是这个eg:/usr/bin/python
然后执行:cd /usr/bin
然后去查看一下python的指向性
ll -a|grep python
我的返回结果是这样的 (可以看见里面没有python的指向)
然后我想直接把python指向python2.7 (也可以按照自己想要的指向3.7)
ln -s python2.7 python
然后可以在运行一下这个查看一下指向性
ll -a|grep python
上面多了一个python -> python2.7
然后如果python指向的是3.7 的话 还需要把yum和其他的文件的里面python编译器改成python2,如下
5. 修改yum配置文件 python2 与 python3共存(因为yum用的是python2)
vi /usr/bin/yum
然后跳出来的会是
按a键进行insert编辑 右键移动到第一行
把#! /usr/bin/python修改为#! /usr/bin/python2(配置文件第一行)
然后按esc退出编辑界面
然后直接输入(输入冒号的时候会自动跳到最后去)
:wq
可以保存文件
vi 操作的保存命令 :
按ESC键 跳到命令模式,然后:
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
6.同样的方式修改 urlgrabber-ext-down 文件
vi /usr/libexec/urlgrabber-ext-down
把文件里面的#! /usr/bin/python 也修改为#! /usr/bin/python2
到此为止已完成python3安装,且实现与python2共存,保持yum命令可用
可以输入 python 或者python2 或者python3 测试一下可不可以运行