系统版本:CentOS Linux release 7.9.2009 (Core)
安装依赖下载Python3
- 安装依赖包
[root@ARL ~]# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
软件包 gcc-4.8.5-44.el7.x86_64 已安装并且是最新版本
软件包 1:make-3.82-24.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 bzip2-devel.x86_64.0.1.0.6-13.el7 将被 安装
---> 软件包 ncurses-devel.x86_64.0.5.9-14.20130511.el7_4 将被 安装
---> 软件包 openssl-devel.x86_64.1.1.0.2k-21.el7_9 将被 安装
--> 正在处理依赖关系 krb5-devel(x86-64),它被软件包 1:openssl-devel-1.0.2k-21.el7_9.x86_64 需要
---> 软件包 readline-devel.x86_64.0.6.2-11.el7 将被 安装
---> 软件包 sqlite-devel.x86_64.0.3.7.17-8.el7_7.1 将被 安装
---> 软件包 tk-devel.x86_64.1.8.5.13-6.el7 将被 安装
--> 正在处理依赖关系 tk = 1:8.5.13-6.el7,它被软件包 1:tk-devel-8.5.13-6.el7.x86_64 需要
--> 正在处理依赖关系 tcl-devel = 1:8.5.13,它被软件包 1:tk-devel-8.5.13-6.el7.x86_64 需要
--> 正在处理依赖关系 libXft-devel,它被软件包 1:tk-devel-8.5.13-6.el7.x86_64 需要
---> 软件包 zlib-devel.x86_64.0.1.2.7-19.el7_9 将被 安装
--> 正在检查事务
---> 软件包 krb5-devel.x86_64.0.1.15.1-50.el7 将被 安装
--> 正在处理依赖关系 libverto-devel,它被软件包 krb5-devel-1.15.1-50.el7.x86_64 需要
--> 正在处理依赖关系 libselinux-devel,它被软件包 krb5-devel-1.15.1-50.el7.x86_64 需要
--> 正在处理依赖关系 libcom_err-devel,它被软件包 krb5-devel-1.15.1-50.el7.x86_64 需要
--> 正在处理依赖关系 keyutils-libs-devel,它被软件包 krb5-devel-1.15.1-50.el7.x86_64 需要
---> 软件包 libXft-devel.x86_64.0.2.3.2-2.el7 将被 安装
--> 正在处理依赖关系 pkgconfig(xrender),它被软件包 libXft-devel-2.3.2-2.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(freetype2),它被软件包 libXft-devel-2.3.2-2.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(fontconfig),它被软件包 libXft-devel-2.3.2-2.el7.x86_64 需要
---> 软件包 tcl-devel.x86_64.1.8.5.13-8.el7 将被 安装
--> 正在处理依赖关系 tcl = 1:8.5.13-8.el7,它被软件包 1:tcl-devel-8.5.13-8.el7.x86_64 需要
---> 软件包 tk.x86_64.1.8.5.13-6.el7 将被 安装
--> 正在检查事务
---> 软件包 fontconfig-devel.x86_64.0.2.13.0-4.3.el7 将被 安装
--> 正在处理依赖关系 pkgconfig(uuid),它被软件包 fontconfig-devel-2.13.0-4.3.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(expat),它被软件包 fontconfig-devel-2.13.0-4.3.el7.x86_64 需要
---> 软件包 freetype-devel.x86_64.0.2.8-14.el7_9.1 将被 安装
--> 正在处理依赖关系 pkgconfig(libpng),它被软件包 freetype-devel-2.8-14.el7_9.1.x86_64 需要
---> 软件包 keyutils-libs-devel.x86_64.0.1.5.8-3.el7 将被 安装
---> 软件包 libXrender-devel.x86_64.0.0.9.10-1.el7 将被 安装
---> 软件包 libcom_err-devel.x86_64.0.1.42.9-19.el7 将被 安装
---> 软件包 libselinux-devel.x86_64.0.2.5-15.el7 将被 安装
--> 正在处理依赖关系 libsepol-devel(x86-64) >= 2.5-10,它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libsepol),它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libpcre),它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
---> 软件包 libverto-devel.x86_64.0.0.2.5-4.el7 将被 安装
---> 软件包 tcl.x86_64.1.8.5.13-8.el7 将被 安装
--> 正在检查事务
---> 软件包 expat-devel.x86_64.0.2.1.0-12.el7 将被 安装
---> 软件包 libpng-devel.x86_64.2.1.5.13-8.el7 将被 安装
---> 软件包 libsepol-devel.x86_64.0.2.5-10.el7 将被 安装
---> 软件包 libuuid-devel.x86_64.0.2.23.2-65.el7_9.1 将被 安装
---> 软件包 pcre-devel.x86_64.0.8.32-17.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=========================================================================================================================================================================================================================================
Package 架构 版本 源 大小
=========================================================================================================================================================================================================================================
正在安装:
bzip2-devel x86_64 1.0.6-13.el7 base 218 k
ncurses-devel x86_64 5.9-14.20130511.el7_4 base 712 k
openssl-devel x86_64 1:1.0.2k-21.el7_9 updates 1.5 M
readline-devel x86_64 6.2-11.el7 base 139 k
sqlite-devel x86_64 3.7.17-8.el7_7.1 base 104 k
tk-devel x86_64 1:8.5.13-6.el7 base 488 k
zlib-devel x86_64 1.2.7-19.el7_9 updates 50 k
为依赖而安装:
expat-devel x86_64 2.1.0-12.el7 base 57 k
fontconfig-devel x86_64 2.13.0-4.3.el7 base 138 k
freetype-devel x86_64 2.8-14.el7_9.1 updates 447 k
keyutils-libs-devel x86_64 1.5.8-3.el7 base 37 k
krb5-devel x86_64 1.15.1-50.el7 base 273 k
libXft-devel x86_64 2.3.2-2.el7 base 19 k
libXrender-devel x86_64 0.9.10-1.el7 base 17 k
libcom_err-devel x86_64 1.42.9-19.el7 base 32 k
libpng-devel x86_64 2:1.5.13-8.el7 base 122 k
libselinux-devel x86_64 2.5-15.el7 base 187 k
libsepol-devel x86_64 2.5-10.el7 base 77 k
libuuid-devel x86_64 2.23.2-65.el7_9.1 updates 93 k
libverto-devel x86_64 0.2.5-4.el7 base 12 k
pcre-devel x86_64 8.32-17.el7 base 480 k
tcl x86_64 1:8.5.13-8.el7 base 1.9 M
tcl-devel x86_64 1:8.5.13-8.el7 base 165 k
tk x86_64 1:8.5.13-6.el7 base 1.4 M
事务概要
=========================================================================================================================================================================================================================================
安装 7 软件包 (+17 依赖软件包)
总下载量:8.6 M
安装大小:22 M
Is this ok [y/d/N]: y
Downloading packages:
(1/24): expat-devel-2.1.0-12.el7.x86_64.rpm | 57 kB 00:00:00
(2/24): fontconfig-devel-2.13.0-4.3.el7.x86_64.rpm | 138 kB 00:00:00
(3/24): bzip2-devel-1.0.6-13.el7.x86_64.rpm | 218 kB 00:00:00
(4/24): keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm | 37 kB 00:00:00
(5/24): libXft-devel-2.3.2-2.el7.x86_64.rpm | 19 kB 00:00:00
(6/24): krb5-devel-1.15.1-50.el7.x86_64.rpm | 273 kB 00:00:00
(7/24): libXrender-devel-0.9.10-1.el7.x86_64.rpm | 17 kB 00:00:00
(8/24): freetype-devel-2.8-14.el7_9.1.x86_64.rpm | 447 kB 00:00:00
(9/24): libcom_err-devel-1.42.9-19.el7.x86_64.rpm | 32 kB 00:00:00
(10/24): libpng-devel-1.5.13-8.el7.x86_64.rpm | 122 kB 00:00:00
(11/24): libsepol-devel-2.5-10.el7.x86_64.rpm | 77 kB 00:00:00
(12/24): libuuid-devel-2.23.2-65.el7_9.1.x86_64.rpm | 93 kB 00:00:00
(13/24): libselinux-devel-2.5-15.el7.x86_64.rpm | 187 kB 00:00:00
(14/24): libverto-devel-0.2.5-4.el7.x86_64.rpm | 12 kB 00:00:00
(15/24): pcre-devel-8.32-17.el7.x86_64.rpm | 480 kB 00:00:00
(16/24): ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm | 712 kB 00:00:00
(17/24): readline-devel-6.2-11.el7.x86_64.rpm | 139 kB 00:00:00
(18/24): sqlite-devel-3.7.17-8.el7_7.1.x86_64.rpm | 104 kB 00:00:00
(19/24): tcl-devel-8.5.13-8.el7.x86_64.rpm | 165 kB 00:00:00
(20/24): tcl-8.5.13-8.el7.x86_64.rpm | 1.9 MB 00:00:00
(21/24): tk-devel-8.5.13-6.el7.x86_64.rpm | 488 kB 00:00:00
(22/24): tk-8.5.13-6.el7.x86_64.rpm | 1.4 MB 00:00:00
(23/24): zlib-devel-1.2.7-19.el7_9.x86_64.rpm | 50 kB 00:00:00
(24/24): openssl-devel-1.0.2k-21.el7_9.x86_64.rpm | 1.5 MB 00:00:01
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 3.7 MB/s | 8.6 MB 00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : zlib-devel-1.2.7-19.el7_9.x86_64 1/24
正在安装 : 1:tcl-8.5.13-8.el7.x86_64 2/24
正在安装 : 1:tk-8.5.13-6.el7.x86_64 3/24
正在安装 : 1:tcl-devel-8.5.13-8.el7.x86_64 4/24
正在安装 : 2:libpng-devel-1.5.13-8.el7.x86_64 5/24
正在安装 : freetype-devel-2.8-14.el7_9.1.x86_64 6/24
正在安装 : libcom_err-devel-1.42.9-19.el7.x86_64 7/24
正在安装 : expat-devel-2.1.0-12.el7.x86_64 8/24
正在安装 : libsepol-devel-2.5-10.el7.x86_64 9/24
正在安装 : libXrender-devel-0.9.10-1.el7.x86_64 10/24
正在安装 : ncurses-devel-5.9-14.20130511.el7_4.x86_64 11/24
正在安装 : libverto-devel-0.2.5-4.el7.x86_64 12/24
正在安装 : libuuid-devel-2.23.2-65.el7_9.1.x86_64 13/24
正在安装 : fontconfig-devel-2.13.0-4.3.el7.x86_64 14/24
正在安装 : libXft-devel-2.3.2-2.el7.x86_64 15/24
正在安装 : pcre-devel-8.32-17.el7.x86_64 16/24
正在安装 : libselinux-devel-2.5-15.el7.x86_64 17/24
正在安装 : keyutils-libs-devel-1.5.8-3.el7.x86_64 18/24
正在安装 : krb5-devel-1.15.1-50.el7.x86_64 19/24
正在安装 : 1:openssl-devel-1.0.2k-21.el7_9.x86_64 20/24
正在安装 : 1:tk-devel-8.5.13-6.el7.x86_64 21/24
正在安装 : readline-devel-6.2-11.el7.x86_64 22/24
正在安装 : sqlite-devel-3.7.17-8.el7_7.1.x86_64 23/24
正在安装 : bzip2-devel-1.0.6-13.el7.x86_64 24/24
验证中 : libXft-devel-2.3.2-2.el7.x86_64 1/24
验证中 : 1:tcl-8.5.13-8.el7.x86_64 2/24
验证中 : libselinux-devel-2.5-15.el7.x86_64 3/24
验证中 : keyutils-libs-devel-1.5.8-3.el7.x86_64 4/24
验证中 : pcre-devel-8.32-17.el7.x86_64 5/24
验证中 : 2:libpng-devel-1.5.13-8.el7.x86_64 6/24
验证中 : bzip2-devel-1.0.6-13.el7.x86_64 7/24
验证中 : fontconfig-devel-2.13.0-4.3.el7.x86_64 8/24
验证中 : libuuid-devel-2.23.2-65.el7_9.1.x86_64 9/24
验证中 : libverto-devel-0.2.5-4.el7.x86_64 10/24
验证中 : ncurses-devel-5.9-14.20130511.el7_4.x86_64 11/24
验证中 : 1:tk-devel-8.5.13-6.el7.x86_64 12/24
验证中 : 1:tk-8.5.13-6.el7.x86_64 13/24
验证中 : libXrender-devel-0.9.10-1.el7.x86_64 14/24
验证中 : zlib-devel-1.2.7-19.el7_9.x86_64 15/24
验证中 : freetype-devel-2.8-14.el7_9.1.x86_64 16/24
验证中 : libsepol-devel-2.5-10.el7.x86_64 17/24
验证中 : readline-devel-6.2-11.el7.x86_64 18/24
验证中 : expat-devel-2.1.0-12.el7.x86_64 19/24
验证中 : 1:openssl-devel-1.0.2k-21.el7_9.x86_64 20/24
验证中 : krb5-devel-1.15.1-50.el7.x86_64 21/24
验证中 : sqlite-devel-3.7.17-8.el7_7.1.x86_64 22/24
验证中 : libcom_err-devel-1.42.9-19.el7.x86_64 23/24
验证中 : 1:tcl-devel-8.5.13-8.el7.x86_64 24/24
已安装:
bzip2-devel.x86_64 0:1.0.6-13.el7 ncurses-devel.x86_64 0:5.9-14.20130511.el7_4 openssl-devel.x86_64 1:1.0.2k-21.el7_9 readline-devel.x86_64 0:6.2-11.el7 sqlite-devel.x86_64 0:3.7.17-8.el7_7.1 tk-devel.x86_64 1:8.5.13-6.el7
zlib-devel.x86_64 0:1.2.7-19.el7_9
作为依赖被安装:
expat-devel.x86_64 0:2.1.0-12.el7 fontconfig-devel.x86_64 0:2.13.0-4.3.el7 freetype-devel.x86_64 0:2.8-14.el7_9.1 keyutils-libs-devel.x86_64 0:1.5.8-3.el7 krb5-devel.x86_64 0:1.15.1-50.el7
libXft-devel.x86_64 0:2.3.2-2.el7 libXrender-devel.x86_64 0:0.9.10-1.el7 libcom_err-devel.x86_64 0:1.42.9-19.el7 libpng-devel.x86_64 2:1.5.13-8.el7 libselinux-devel.x86_64 0:2.5-15.el7
libsepol-devel.x86_64 0:2.5-10.el7 libuuid-devel.x86_64 0:2.23.2-65.el7_9.1 libverto-devel.x86_64 0:0.2.5-4.el7 pcre-devel.x86_64 0:8.32-17.el7 tcl.x86_64 1:8.5.13-8.el7
tcl-devel.x86_64 1:8.5.13-8.el7 tk.x86_64 1:8.5.13-6.el7
完毕!
- 下载python源码包并解压
[root@ARL ~]# wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz
[root@ARL ~]# tar -xzvf Python-3.9.2.tgz
- 编译
[root@ARL ~]# cd Python-3.9.2
[root@ARL Python-3.9.2]# ./configure --with-openssl=/usr/local/openssl
[root@ARL Python-3.9.2]# make&&make install
- 将默认Python改为Python3
[root@ARL Python-3.9.2]# mv /usr/bin/python /usr/bin/python.ba
[root@ARL Python-3.9.2]# ln -s /usr/local/bin/python3 /usr/bin/python
[root@ARL Python-3.9.2]# mv /usr/bin/pip /usr/bin/pip.bak
[root@ARL Python-3.9.2]# ln -s /usr/local/bin/pip3 /usr/bin/pip
配置yum
yum是依赖python2.7,需要修改一下yum里的相关依赖指向2.7。
[root@ARL ~]# vi /usr/libexec/urlgrabber-ext-down
[root@ARL ~]# vi /usr/bin/yum
将/usr/bin/python改为/usr/bin/python2.7后保存
验证
[root@ARL ~]# python -V
Python 3.9.2
[root@ARL ~]# pip -V
pip 21.0.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
碰到的问题
- 安装时报错ModuleNotFoundError: No module named '_ctypes'
执行如下命令后从./configure开始重新安装
[root@ARL ~]# yum install libffi-devel