Linux系统Python2升级到Python3

因个人需要,本人要将一个python文件上传到云服务器运行,服务器安装的Linux镜像为CentOS 7.2,在使用过程中发现系统默认安装的python版本是python2,该版本不仅官方已经停止更新,而且也不符合大多数用户的选择,例如我上传的文件就是采用python3编写的,为了防止后续再次出现python版本不兼容的情况,我这里直接将其版本升级到python 3.9.5,具体的版本选择请各自斟酌,不必追求高版本。升级步骤如下:

1.下载安装包

首先我们新建一个目录,用于保存下载的python安装包,然后将其解压。

[root@lg10 ~]# mkdir -p /opt/python3
[root@lg10 ~]# cd /opt/python3/
[root@lg10 python3]# wget  https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tar.xz
[root@lg10 python3]# tar -xvf Python-3.9.5.tar.xz
[root@lg10 python3]# cd Python-3.9.5/

这里我们直接是在python的官方网站下载的,因此速度有点慢,如果国内有合适的镜像,建议把下载链接改成国内的,这样会快很多。

2.编译安装

[root@lg10 Python-3.9.5]# ./configure --prefix=/usr/local/python3
[root@lg10 Python-3.9.5]# make && make install

--prefix参数指定了软件的安装目录,该软件所有的安装文件都被复制到这个目录,其好处是方便我们卸载或移植软件,推荐使用。

在安装过程中,我遇到了如下的问题:

zipimport.ZipImportError: can’t decompress data

问题的原因是缺少zlib的相关工具包,我们只需要安装相关依赖包即可

yum -y install zlib*

然后重新执行编译就成功了。

3.新建软连接

软连接是Linux中的一个常用命令,它的功能是为某一个文件在另外一个位置建立一个链接。软链接文件类似于Windows的快捷方式,它实际上是一个特殊的文件,其中保存的是另一个文件的位置信息。

由于系统已经安装了python2的版本,因此这里在bin下的启动程序还是python2的,这里我们需要把老版本做个移置更名作为备份,否则直接命令行执行python,打开的还是老版本。

[root@lg10 Python-3.9.5]# mv /usr/bin/python /usr/bin/python2

然后我们需要新建一个软连接到/usr/bin下,这样默认直接打开python就会指向新安装的python3了。

[root@lg10 Python-3.9.5]# ln -sv /usr/local/python3/bin/python3.9.5 /usr/bin/python

现在,如果我们直接输入python,默认打开的就是python3。

[root@lg10 ~]# python
Python 3.9.5 (default, Aug 21 2021, 16:39:54) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.

这里我们并没有删除python2,而是留在这里作为备用,如果输入python2就可以切换到python2。

[root@lg10 ~]# python2
Python 2.7.5 (default, Aug  7 2019, 00:51:29) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值