Centos7 编译安装 Python3

引言

自从接触 docker 以后,我个人使用 docker 的频率越来越高,因为它部署方便又能保证环境干净(个人在环境配置上有点小洁癖)。但有时候有需要宿主机本身装一些环境,所以就有写了此篇博文,算是整合前辈们写的博文,以安装最少依赖包的方式安装 python 。虽然 CentOS7 即将停止维护,但目前我还是喜欢 CentOS7 。所以教程的环境为 CentOS7

正文

安装 Python 依赖项

由于我们将从源代码安装 Python ,让我们安装 Python 安装所需的包。

1
2
sudo yum -y install epel-release
sudo yum -y update

升级后重启。

1
sudo reboot

重新启动后,安装构建依赖项。

1
2
sudo yum -y groupinstall "Development Tools"
sudo yum -y install openssl-devel bzip2-devel libffi-devel xz-devel

确认 gcc 可用。

1
2
3
4
5
$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE

下载最新的 Python 安装包

版本号你可以查看官网然后修改下面的版本号,我这边选择 3.9.15 这个版本。

1
2
wget https://www.python.org/ftp/python/3.9.15/Python-3.9.15.tgz
tar -zxvf Python-3.9.15.tgz

编译安装 Python

1
2
3
4
mkdir /usr/local/lib/python3.9.15 #创建编译安装目录
cd Python-3.9.15
./configure --prefix=/usr/local/lib/python3.9.15
make && make install

安装过,出现下面两行就成功了。

1
2
Installing collected packages: setuptools, pip
Successfully installed pip-22.0.4 setuptools-41.2.0

创建软连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看当前软连接,下面显示的已经配置好了的
ls -la /usr/bin | grep python

lrwxrwxrwx 1 root root 36 Oct 15 10:33 pip3 -> /usr/local/lib/python3.9.15/bin/pip3
lrwxrwxrwx 1 root root 39 Oct 15 10:32 python -> /usr/local/lib/python3.9.15/bin/python3
lrwxrwxrwx 1 root root 9 Aug 24 14:27 python2 -> python2.7
-rwxr-xr-x 1 root root 7144 Jun 28 23:30 python2.7
lrwxrwxrwx 1 root root 39 Oct 15 10:35 python3 -> /usr/local/lib/python3.9.15/bin/python3
-rwxr-xr-x 2 root root 11328 Nov 17 2020 python3.6
lrwxrwxrwx 1 root root 17 Aug 24 14:23 python3.6-config -> python3.6m-config
-rwxr-xr-x 2 root root 11328 Nov 17 2020 python3.6m
-rwxr-xr-x 1 root root 173 Nov 17 2020 python3.6m-config
-rwxr-xr-x 1 root root 3403 Nov 17 2020 python3.6m-x86_64-config
lrwxrwxrwx 1 root root 16 Aug 24 14:23 python3-config -> python3.6-config

为防止系统一些 Python 程序仍使用 Python2 ,所以我们只修改 Python3Pip3 的软链接,如果系统已经存在其他 Python3 的版本,我们也不做改动。

1
2
3
# 删除 Python3 和 Pip3 的软连接
rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3

配置软连接,由于我这边是在 /usr/local/lib/python3.9.15 目录下,所以使用以下命令

1
2
ln -s /usr/local/lib/python3.9.15/bin/python3 /usr/bin/python3
ln -s /usr/local/lib/python3.9.15/bin/pip3 /usr/bin/pip3

最后我们看一下当前 Python3 的版本

1
2
3
4
$ python3 -V
Python 3.9.15
$ pip3 -V
pip 22.0.4 from /usr/local/lib/python3.9.15/lib/python3.9/site-packages/pip (python 3.9)

后记

算是转载两篇博文,取一些我个人认为比较好的部分整合在一起,如有错误请留言纠正。

参考

Powered by Hexo and Hexo-theme-hiker

Copyright © 2018 - 2023 Leamx's Blog All Rights Reserved.

UV : | PV :