Python学习之路(7)— 在CentOS上安装Python 3.12
Python学习之路(7)— 在CentOS上安装Python 3.12
对于CentOS用户来说,系统默认的Python版本往往跟不上开发需求——比如CentOS 7默认Python 2.7,CentOS 8也仅搭载Python 3.6,而Python 3.12带来的函数调用性能提升、类型提示增强等特性,早已成为不少开发者的“刚需”。
一、安装前准备:先搞定依赖环境
编译Python源代码前,必须先安装系统依赖包——少装一个都可能导致后续步骤报错。打开CentOS终端,按顺序执行以下命令即可。
1.1 先更新系统软件包
首先把系统已有的软件包更新到最新版本,避免因版本兼容问题卡壳:
sudo yum update -y
-y
参数会自动确认所有更新操作,不用手动按回车,等终端显示“Complete!”就说明更新完成。
1.2 安装编译必需的依赖库
这条命令能一次性装全编译Python需要的工具和依赖,直接复制执行:
sudo yum install -y gcc openssl-devel bzip2-devel libffi-devel zlib-devel wget
怕记不住?简单解释下关键依赖的作用:
gcc
:核心编译器,没有它无法将Python源代码编译成可执行程序;openssl-devel
:支持Python的HTTPS/SSL功能,比如用pip装包、请求HTTPS接口都靠它;libffi-devel
:让Python能调用C语言编写的库(比如一些高性能第三方包);wget
:后续用来下载Python源代码包的工具。
二、下载Python 3.12源代码
推荐从Python官方源或国内镜像源下载,国内镜像速度更快,这里两种方式都给大家列出来。
2.1 切换到源代码存放目录
Linux系统习惯把源代码放在/usr/local/src
目录(权限清晰,方便管理),先切换到这个目录:
cd /usr/local/src
2.2 下载Python 3.12源码包
目前Python 3.12的最新稳定版是3.12.4(2024年6月发布),如果后续有更新,把命令中的3.12.4
换成最新版本号即可。
方式1:国内镜像源(推荐,速度快)
用清华大学镜像源下载,几秒钟就能完成:
wget https://mirrors.tuna.tsinghua.edu.cn/python/3.12.4/Python-3.12.4.tgz
方式2:Python官方源
如果镜像源暂时无法访问,可切换到官方源:
wget https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tgz
下载完成后,执行ls
命令,能看到目录里多了一个Python-3.12.4.tgz
的压缩包,就说明下载成功了。
三、核心步骤:编译与安装Python 3.12
这一步是关键,必须按“解压→配置→编译→安装”的顺序执行,不要跳步。
3.1 解压源代码包
用tar
命令解压刚才下载的压缩包,命令如下:
sudo tar -zxvf Python-3.12.4.tgz
z
:处理gz格式压缩包;x
:开启解压模式;v
:显示解压过程(能看到正在解压的文件);f
:指定要解压的文件名。
解压完成后,当前目录会出现一个Python-3.12.4
的文件夹,里面就是Python 3.12的源代码。
3.2 配置安装路径与功能
先进入解压后的源代码目录:
cd Python-3.12.4
然后执行configure
命令,重点是指定安装路径——这样能避免和系统默认Python版本冲突:
sudo ./configure --enable-optimizations --prefix=/usr/local/python3.12 --with-openssl=/usr/include/openssl
参数说明:
--enable-optimizations
:可以优化Python解释器的性能,但会增加编译时间;--prefix=/usr/local/python3.12
:把Python 3.12安装到这个目录,后续卸载或管理都方便;--with-openssl=/usr/include/openssl
:指定SSL依赖路径,解决后续pip无法使用HTTPS的问题。
配置过程大概10秒左右,只要终端没出现“error:”开头的红色报错,就说明配置成功。
3.3 编译与安装
先执行编译命令,-j2
表示用2个CPU核心编译(如果服务器是4核,可改成-j4
,速度更快):
sudo make -j2
编译需要1-3分钟(取决于服务器配置),中间别中断,等终端回到命令行提示符就说明编译完成。
接着执行安装命令:
sudo make altinstall
使用make altinstall
可以避免覆盖系统默认的Python版本。安装很快,几十秒就能完成。如果终端最后显示“Successfully installed pip-xx.x.x”,就说明Python 3.12已经成功安装到/usr/local/python312
目录了!
四、配置环境:让系统识别Python 3.12
装完后还不能直接用python
命令调用——需要创建“软链接”(类似Windows的快捷方式),把Python 3.12的命令加入系统默认路径。
4.1 创建软链接(推荐新手)
执行以下两条命令,分别给Python 3.12和对应的pip创建软链接:
# 给Python 3.12创建软链接,命令名为python312
sudo ln -s /usr/local/python3.12/bin/python3.12 /usr/bin/python3.12# 给pip创建软链接,命令名为pip312
sudo ln -s /usr/local/python3.12/bin/pip3.12 /usr/bin/pip3.12
用python3.12
和pip3.12
作为命令名,是为了和系统自带的python
/python3
区分开,避免误删或冲突。
4.2 验证安装结果
执行以下命令检查Python 3.12版本:
python3.12 --version
如果输出Python 3.12.4
(或你安装的版本号),说明Python 3.12能正常调用。
再检查pip是否可用:
pip3.12 --version
输出类似pip 24.0 from /usr/local/python312/lib/python3.12/site-packages/pip (python 3.12)
,就说明pip也配置好了。
五、避坑指南:常见问题解决
操作中遇到报错别慌,这几个高频问题的解决方法帮你省下查资料的时间。
问题1:编译时提示“no acceptable C compiler found in $PATH”
原因:没安装gcc
编译器,依赖安装步骤漏了。
解决:重新安装gcc
:
sudo yum install -y gcc
问题2:执行python3.12
提示“command not found”
原因:软链接创建失败,可能是路径写错了。
解决:先检查软链接是否存在:
ls -l /usr/bin/python3.12
如果显示“No such file or directory”,重新执行创建软链接的命令,注意路径中的Python-3.12.4
和python3.12
别写错。
问题3:用pip3.12
装包时提示“SSL: CERTIFICATE_VERIFY_FAILED”
原因:安装时没正确配置SSL依赖,或openssl-devel
没装。
解决:先确认依赖已安装:
sudo yum install -y openssl-devel
然后回到源代码目录,重新执行“配置→编译→安装”:
cd /usr/local/src/Python-3.12.4
sudo make clean # 清除之前的编译结果
sudo ./configure --prefix=/usr/local/python3.12 --with-openssl=/usr/include/openssl
sudo make -j2
sudo make install
六、上手测试:简单用一下Python 3.12
安装完成后,不妨在终端测试一下:输入python3.12
进入交互模式,然后输入:
print("Hello, Python 3.12!")
按回车后能正常输出文字,就说明一切正常。想退出交互模式,按Ctrl+D
即可。
后续使用时,运行Python脚本用python3.12 脚本名.py
,安装第三方包用pip3.12 install 包名
(比如pip3.12 install requests
),和平时用Python没区别。