只需三步完成Linux中的Python升级

1,900 阅读2分钟

因个人需要,本人要将一个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.