赞
踩
准备做一个基于Python语言的网站,购买服务器后,选择安装CentOS系统。在终端输入python
,进入了python 2.7
;输入python3
,进入了python 3.6
,可是我想用python 3.10
,于是开始查资料,准备优雅地更新Python版本~
来到Python官网的下载页面,选择最新的稳定版本(本文章写于2022.08.05,当时最新Python稳定版本为Python 3.10.6
)。
要想下载最新版本的Python,第一件事就是获得下载链接,下面两幅图解释清楚了:
获取下载链接后,我们可以登录服务器终端,使用wget
命令下载源码:
mkdir /usr/AllMyDownloads # 新建一个目录,专门用来存放下载文件
cd /usr/AllMyDownloads # 进入该目录
wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz # 使用wget下载
对于Linux小白来说,前两行可能不知所以,这涉及到Linux目录设计与个人习惯。为什么放在/usr
目录下呢?请看这篇文章中对/usr
目录的介绍。
至于第3句,有的小伙伴可能会报错-bash: wget: command not found
,这意味着你还没有安装wget
这一下载工具,只需先执行下列语句即可:
yum install wget -y
正常情况下,你的下载速度应该比较慢,这个没关系,慢慢下就好了。
执行tar
命令(对该命令不熟悉可以看这篇文章:Linux tar打包命令详解)进行解压:
tar -xzvf Python-3.10.6.tgz
理论上此时可以直接安装了,但考虑到对文件管理的规范性,我们依然移动一下文件,将自己下载安装的软件统一放在/usr/local
目录下:
mv Python-3.10.6 /usr/local
在正式进行编译之前,要先做一些配置处理,来将内核版本、编译器位置等信息进行匹配。配置过程很剪刀,只需要用到下面这个文件:
只需先运行一下该文件
./configure
不出意外的话,你应该会看到一堆的错误,全是依赖找不到的错误。
所以在配置之前,还需要安装一些编译时会用到的工具包:
yum install -y openssl-devel openssl-static zlib-devel lzma tk-devel xz-devel bzip2-devel ncurses-devel gdbm-devel readline-devel sqlite-devel gcc libffi-devel
一大堆,安装完成就完事儿!
然后再执行
./configure
此时就没问题了。
先编译:
make
再安装:
make install
此时,Python就生成了!
此时若直接执行python
,你会发现没有什么变化,这是为什么呢?
这与终端的命令查找顺序有关:终端会先在/usr/bin
目录下寻找命令,如果找到,就停止查找。
之前的/usr/bin
下有了python
命令,它软链接(类似于Windows的“快捷方式”)到了python 2.6
。
由于我们只是生成了Python 3.10
的可执行文件,并没有修改/usr/bin/python
的指向,所以看不到效果。
所以,只需要使用ln
命令重新修改一下软链接的指向就OK了~
ln -sf /usr/local/Python-3.10.6/python /usr/bin/python # 强制建立软链接(快捷方式)
[1].centos升级python
[2].Linux文件系统的层次结构
[3].Linux文件目录结构一览表
[4].Linux tar打包命令详解
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。