Python3.6升级到3.9和3.10

1.升级openssl到1.1.1n

cd /data/softwares
cd openssl-1.1.1n
./config
make && make install
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
mv /usr/bin/openssl /usr/bin/openssl.old
ln -sv /usr/local/bin/openssl /usr/bin/openssl
reboot


2.删除已安装的python3版本
yum remove python3

3.下载python3.9.11并解压

wget https://www.python.org/ftp/python/3.9.11/Python-3.9.11.tgz
tar -vxzf Python-3.9.11.tgz
4.安装
cd Python-3.9.11
./configure   #--enable-optimizations
make
make install
ln -s /usr/local/bin/python3.9.11 /usr/bin/python3
ln -s /usr/local/bin/pip3 /usr/bin/pip3
python3 --version

 

在已安装了python3.9的系统上,安装python3.10,同时存在:

openssl已经升级到1.1.1n版本,位于系统默认路径下,没有安装到/usr/local/openssl 目录下

which openssl 返回:/usr/local/bin/openssl

openssl version 返回:OpenSSL 1.1.1n  15 Mar 2022

find / -name ssl.h 返回:
/usr/include/openssl/ssl.h
/usr/local/include/openssl/ssl.h

libcrypto.so 和  libssl.so 位于路径 /usr/local/lib64/ 下面

添加环境变量:

#添加环境变量:
vim ~/.bash_profile
export LDFLAGS="-L/usr/local/lib64"
export CPPFLAGS="-I/usr/local/include"
export PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig"

source ~/.bash_profile

编译安装python3.10

mkdir /usr/local/python310
cd /root/Python3.10.0
./configure  --prefix=/usr/local/python310/    --with-openssl=/usr/local/ --with-system-ffi   --enable-shared
make
make install
ln -s /usr/local/python310/bin/python3 /usr/bin/python310
ln -s /usr/local/python310/bin/pip3 /usr/bin/pip310

运行:python310 -c "import ssl; print(ssl.OPENSSL_VERSION)" 

出现如下报错:
python310: error while loading shared libraries: libpython3.10.so.1.0: cannot open shared object file: No such file or directory

原因: 动态链接器找不到 libpython3.10.so.1.0,这是 Python 3.10 编译后生成的共享库文件。

解决办法:

echo '/usr/local/python310/lib' | tee /etc/ld.so.conf.d/python3.10.conf
ldconfig

 

 

 

 

 

posted on 2023-08-24 17:40  momingliu11  阅读(1193)  评论(0)    收藏  举报