{message type=”info” content=”一般来说,我们新购买的服务器默认是Python2版本,但是有时候我们有需求,要使用python3,今天这篇文章将带大家解决这个问题。为了周全,我们把Python2和Python3都装上。但是当我们默认使用Python时候使用的是Python3″/}
话不多说,开搞
- 我这台服务器是重新构建过系统的。干干净净。我们在终端,输入Python,一般来说结果是这样的。可以看到是Python的2.7版本
- 现在我们要找到Python是在哪里安装的。输入
whereis python
,可以看到输出内容是在/usr/bin下 - 我们进入/usr/bin目录,查看会发现你执行Python,会有软连接指向Python2,执行Python2会有软链接指向Python2.7 也就是说执行python和执行python2.7 最终实际上调用的都是这个py2.7的程序。 那么我们的目标来了,我们要让执行python,实际上执行的是python3,执行python2,才是使用python2 ,让2和3版本共存!但是默认要是python3
- 先使用yum安装工具和依赖包!
yum -y install wget xz tar gcc make tk-devel sqlite-devel zlib-devel readline-devel openssl-devel curl-devel tk-devel gdbm-devel xz-devel bzip2-devel libffi-devel
- 进入/usr/local 目录。然后再使用wget获取Python3.9 的代码
wget -t 100 -c https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
再输入tar zxvf Python-3.9.1.tgz
解压缩。完成之后是这样的。 - 进入解压后的Python3.9的目录,依次执行。
./configure
make
make install
make和make install时候可能略慢,得耐心稍等几分钟
7.最终的执行完make install是这样的,可以看到在目录下生成了文件,我们执行当前文件夹下的python就会发现它的输出是python3.9 。那python3就装好了,下一步我们就是替换了。
- 我们无需操作python2 .我们只需要更改箭头所指的第一个python的软连接就可以了
9.ln命令默认是创建的硬链接。我们要创建软连接的话,需要使用ln -s 。 前面是源文件 后面是目的文件。先删除掉原来的python软连接 rm -rf /usr/bin/python
,再建立新的
ln -s /usr/local/Python-3.9.1/python /usr/bin/python
10.然后我们就可以验证一下。是不是期望的效果了。我先输入python 再输入python2,结果是这样的,符合预期。
- 以为这样就完了吗,必须没有!centos上的yum管理器的源码是用python2写的,我们现在把python默认改成了3版本,那么执行yum 他就报错给我们看了。
12.可以看到 /usr/bin/yum报错了。那我们就去修改/usr/bin/yum 把第一行的 #!/usr/bin/python
换成 #!/usr/bin/python2
让他继续用python2就行了~~。 然后:wq保存退出,输入yum验证,正确输出。就大功告成了。
然后还需要把这2个文件的第一行的python换成pyhotn2就ok了
vim /usr/libexec/urlgrabber-ext-down
vim /usr/bin/yum-config-manager
写到这里,才想起来昨天看到的,VIM 的作者 Bram Moolenaar 过世了。我一直挺喜欢用vim的,可能是自己老了,有点伤感,
R.I.P.