没有输出的输入是不完整的

0%

centos安装python

本文将介绍如何在centos系统通过源码安装最新的python.

python10以上要求openssl的版本要大于1.1,centos默认安装的openssl为1.0,因此需要首先更新默认的openssl

更新openssl

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 检查默认openssl
which openssl
openssl version

# 下载并解压openssl源码, 源码下载地址为https://openssl-library.org/source/
wget https://www.openssl.org/source/openssl-1.1.1o.tar.gz
tar -xzvf openssl-1.1.1o.tar.gz && cd openssl-1.1.1o/

# 编译安装
./config --prefix=/usr/local/openssl
make && make install

# 更新软连接
link_force() {
local src="$1" dst="$2"
if [ -e "$dst" ] || [ -L "$dst" ]; then
rm -f "$dst"
fi
ln -s "$src" "$dst"
}

link_force /usr/local/openssl/bin/openssl /usr/bin/openssl
link_force /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
link_force /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1


# 检查此时的openssl
openssl version

安装python

在centos系统中下载源码,如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# python版本下载地址为[python download](https://www.python.org/downloads/),自行选择目标python版本 
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz


# 解压
tar -zxvf Python-3.12.0.tgz && cd Python-3.12.0

# 编译安装
./configure --prefix=/usr/local/python3.12.0 --with-openssl=/usr/local/openssl
make && make install


# 添加软连接
[ -e /usr/bin/python3 ] && rm -f /usr/bin/python3
ln -s /usr/local/python3.12.0/bin/python3 /usr/bin/python3

[ -e /usr/bin/pip3 ] && rm -f /usr/bin/pip3
ln -s /usr/local/python3.12.0/bin/pip3 /usr/bin/pip3


# 测试
python3 -v

安装成功!