一、准备安装包
openssl-1.1.1n.tar.gz
百度链接:https://pan.baidu.com/s/1NflkHmUdeefj1rZoN48Cmw
提取码:6jxe官网:
https://www.openssl.org/
python-3.10.4 需要1.1.1及以上版本,例如:openssl-1.1.1a.tar.gz,1a有可能是1n,别慌,官网上的用着放心,版本对就行了
libressl-3.5.1.tar.gz
链接:https://pan.baidu.com/s/1pmswJSgmGLZRUtEQ4fzsAg
提取码:4mmw
Python-3.10.4.tgz
链接:https://pan.baidu.com/s/13tM-g3fi9dKZ9TAsZS3uxw
提取码:tf2w
二、安装OpenSSL
先看下OpenSSL 的版本是否符合要求:
[root@pghost5 ~]# openssl version
python-3.10.4要求的版本是1.1.1及以上版本,因为原先的不满足,所以重新安装:
[root@pghost5 ~]# tar xzvf openssl-1.1.1n.tar.gz
[root@pghost5 ~]# cd openssl-1.1.1n
[root@pghost5 openssl-1.1.1n]# ./config --prefix=/usr/local/openssl shared
[root@pghost5 openssl-1.1.1n]# make
[root@pghost5 openssl-1.1.1n]# make install
这几句命令执行完了,应该是装好了,那我们验证下是否是安装好的:
[root@pghost5 ~]# openssl version
如果出来正常版本号,就是对的,我是没有报错的;
如果挂错:
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
则执行如下语句解决:
[root@pghost5 ~]# ln -sf /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@pghost5 ~]# ln -sf /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
执行完,再次验证即可。
三、安装LibreSSL
[root@pghost5 ~]# tar xzvf libressl-3.5.1.tar.gz
[root@pghost5 ~]# cd libressl-3.5.1
[root@pghost5 libressl-3.5.1]# ./config
[root@pghost5 libressl-3.5.1]# make
[root@pghost5 libressl-3.5.1]# make install
添加环境比变量:
export LDFLAGS="-L/usr/local/openssl/lib"
export CPPFLAGS="-I/usr/local/openssl/include"
export PKG_CONFIG_PATH="/usr/local/openssl/lib/pkgconfig"
安装完毕,验证:
[root@pghost5 ~]# openssl version
LibreSSL 3.5.1
验证成功。
四、安装python-3.10.4
注意首先需要校验本机的python是不是好的,因为linux上是自带python的,用命令是可以看到的:
[root@pghost5 ~]# ll /usr/bin/python* -al
lrwxrwxrwx 1 root root 16 Apr 19 15:06 /usr/bin/python -> /usr/bin/python2
lrwxrwxrwx 1 root root 9 Sep 9 2019 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 7216 Jun 21 2019 /usr/bin/python2.7
-rwxr-xr-x 1 root root 1835 Jun 21 2019 /usr/bin/python2.7-config
lrwxrwxrwx 1 root root 16 Sep 9 2019 /usr/bin/python2-config -> python2.7-config
可以看到有个自带的python,这个python理论上一定是好的,用语句验证:
[root@pghost5 ~]# python --version
Python 2.7.5
[root@pghost5 ~]# python
Python 2.7.5 (default, Jun 20 2019, 20:27:34)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
出现>>>,那说明自带的python是好的,这个时候才可以开始继续其它版本的python安装。
如果自带的python被损毁,比如软连接被删了,怎么办,这个时候就需要首先恢复自带的python,见另一篇文章,链接:自带的python软连接被删,如何恢复,这个必须要先恢复,不然会报很多奇葩的问题,因为自带的,好多命令都用到了。
安装依赖包:
[root@pghost5 ~]# yum -y install bzip2 bzip2-devel ncurses openssl openssl-devel openssl-static xz lzma xz-devel sqlite sqlite-devel gdbm gdbm-devel tk tk-devel libffi-devel
安装python-3.10.4
[root@pghost5 ~]# tar xvf Python-3.10.4.tar
[root@pghost5 ~]# cd Python-3.10.4
[root@pghost5 Python-3.10.4]# ./configure --prefix=/usr/local/Python3.10 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto
[root@pghost5 Python-3.10.4]# make
[root@pghost5 Python-3.10.4]# make install
做软连接:
[root@pghost5 ~]# ln -s /usr/local/Python3.10/bin/python3 /usr/bin/python3
[root@pghost5 ~]# ln -s /usr/local/Python3.10/bin/pip3 /usr/bin/pip3
验证成功与否:
[root@pghost5 ~]# python3 --version
Python 3.10.4
[root@pghost5 ~]# pip3 -V
pip 22.0.4 from /usr/local/python3/lib/python3.10/site-packages/pip (python 3.10)