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
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
浙公网安备 33010602011771号