<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[Python解决SSL不可用问题]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Sat, 11 Nov 2023 02:51:14 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	一、问题描述：<br/>报错概述：<br/><div class="code"><br/>WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.<br/>## 警告:pip配置了需要TLS/SSL的位置，但是Python中的SSL模块不可用。<br/></div><br/>二、解决方案：<br/>首先要明白python版本需要和openssl的版本需要相对匹配的，在Python3.7之后的版本，依赖的openssl，必须要是1.1或者1.0.2之后的版本，或者安装了2.6.4之后的libressl，linux自带的openssl版本过低。<br/>1、查看liunx系统的openssl版本信息：<br/><div class="code"><br/>openssl version<br/></div><br/>如图所示：小编的买的liunx服务器自带的openssl版本为1.1.1a ，然而对于小编来说，要安装python3.10的版本来说，openssl的版本太低了，因此需要更新openssl的版本才能满足要求；<br/>先卸载之前安装的旧版本<br/><div class="code"><br/>yum -y remove openssl openssl-devel<br/></div><br/>2、更新openssl版本：<br/>（1）安装相关依赖<br/><div class="code"><br/>yum install gcc libffi-devel zlib* openssl-devel<br/>yum -y install perl-IPC-Cmd<br/></div><br/><div class="code"><br/>安装perl-CPAN<br/><br/>&#91;root@centos7 ~&#93;# yum install -y perl-CPAN<br/>进入CPAN的shell模式，首次进入需要配置shell，按照提示操作即可（本人perl小白，全部选择默认配置，高手请根据提示自行选择）<br/><br/>&#91;root@centos7 ~&#93;# perl -MCPAN -e shell<br/>在shell中安装缺少的模块<br/><br/>cpan&#91;1&#93;&gt; install IPC/Cmd.pm<br/>安装成功后，重新编译OpenSSL即可<br/></div><br/>（2）官网下载openssl版本<br/><div class="code"><br/>wget https://www.openssl.org/source/openssl-3.0.1.tar.gz<br/></div><br/>（3）解压openssl<br/><div class="code"><br/>tar -zxvf openssl-3.0.1.tar.gz<br/></div><br/>（4）编译openssl<br/># 进入解压后的文件目录，切记一定要进入该目录才能继续执行后续命令<br/><div class="code"><br/> cd openssl-3.0.1<br/></div><br/>其中--prefix是指定安装目录的，shared zlib库是在安装时寻找zlib库依赖的<br/><br/># 配置(configure)<br/><div class="code"><br/>./config --prefix=/usr/local/openssl<br/></div><br/><br/># 编译<br/><div class="code"><br/>make <br/></div><br/># 安装<br/><div class="code"><br/>make install<br/></div><br/>最后重新查看openssl版本<br/><div class="code"><br/>openssl version<br/></div><br/><br/>#建立新的软链接<br/><div class="code"><br/>ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl<br/>ln -s /usr/local/openssl/include/openssl /usr/include/openssl<br/></div><br/>#更新动态链接库<br/><div class="code"><br/>echo &quot;/usr/local/openssl/lib64&quot; &gt;&gt; /etc/ld.so.conf<br/>ldconfig -v<br/>ldd /usr/local/openssl/bin/openssl<br/></div><br/>==========================<br/><br/>2、重新编译python<br/>安装依赖<br/><div class="code"><br/>yum -y update<br/>yum -y install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel<br/></div><br/>（1）官网下载python<br/><div class="code"><br/>wget https://www.python.org/ftp/python/3.10.5/Python-3.10.5.tgz<br/><br/></div><br/><br/>（2）解压python<br/><div class="code"><br/>tar -xzvf Python-3.10.5.tgz<br/></div><br/><br/>（3）编译 python<br/><div class="code"><br/>./configure --with-ssl --prefix=/usr/local/python3/<br/></div><br/><div class="code"><br/>make &amp;&amp; make install <br/></div><br/><br/>4）建立软连接<br/><div class="code"><br/>sudo ln -sf /usr/local/python3/bin/python3.10 /usr/bin/python<br/>sudo ln -sf /usr/local/python3/bin/python3.10 /usr/bin/python3<br/>sudo ln -sf /usr/local/python3/bin/pip3.10 /usr/bin/pip<br/>sudo ln -sf /usr/local/python3/bin/pip3.10 /usr/bin/pip3<br/></div><br/>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] Python解决SSL不可用问题]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>