编程爱好者之家
最近在linux系统里安装python3.11之后,使用pip安装第三方库、requests库进行网络请求都会报这个错
Can‘t connect to HTTPS URL because the SSL module is not available
查找了网上很多方法,看见了一个大佬的,是在pip 的命令最后面加上:
-i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
加上之后确实可以安装第三方库了,但是在我用requests库进行请求的时候
又报了这个错
但是请求http的话,是不会报错的
安装最新版的OpenSSL:
进入 /usr/local 目录:
cd /usr/local
(建议跟我一样的目录,后面不用改命令)
下载最新版的OpenSSL:
wget https://www.openssl.org/source/openssl-3.0.2.tar.gz --no-check-certificate
下载成功后解压:
tar -zxvf openssl-3.0.2.tar.gz
解压成功后进入解压后的目录里:
cd openssl-3.0.2/
输入命令配置:
./Configure --prefix=/usr/local/openssl
出现这个代表配置成功,但是大概率会失败
一般会失败报错:Can‘t locate IPC/Cmd.pm in
原因是因为缺少IPC/Cmd.pm模块,需要安装这个模块
先安装perl-CPAN:
yum install -y perl-CPAN
进入perl shell中:
perl -MCPAN -e shell
进入后第一步选yes,第二步选manual,第三步选yes
出现以下cpan[1]>就可以了
安装缺少的模块:
install IPC/Cmd.pm
安装成功
按Ctrl+D退出cpan
重新输入命令配置:
./Configure --prefix=/usr/local/openssl
配置成功
配置安装:
make && make install
安装成功后进入到安装后的目录里:
cd /usr/local/openssl
可以看到目录里没有lib目录,只有lib64,我们需要手动复制一个lib目录出来(这一步非常关键):
cp -rf /usr/local/openssl/lib64 /usr/local/openssl/lib
至此,OpenSSL安装成功
卸载python3(之前没有安装的话,跳过这一步):
先检查自己是否安装了python3:
python3 --version
卸载掉之前安装的python3,直接删除掉自己安装python3的目录就可以了
rm -rf /usr/local/python3
下载安装包:
一、linux系统里直接下载(速度比较慢,不推荐):
进入到/usr/local目录下(推荐使用一样的目录)
cd /usr/local
输入命令下载:
wget https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tgz
解压压缩包:
tar -xvf Python-3.11.2.tgz
下载安装依赖:
sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
进入解压的python目录里
cd Python-3.11.2/
配置编译模式(后面的参数非常重要,一定不要省略):
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto
编译模式配置成功后使用make -j加快编译
make -j
编译完成后,安装:
make install
安装完成:
添加软链接,让python3和pip3这两个命令指向刚刚安装的python3.11
ln -s /usr/local/python3/bin/python3.11 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3.11 /usr/bin/pip3
如果这个错
需要删除之前建立的软连接
rm -rf /usr/bin/python3 rm -rf /usr/bin/pip3
再重新添加软连接
检查python3是否安装完毕:
python3 --version
测试一下pip3能不能正常下载第三方库(可以成功下载了):
测试一下requests能不能发起https的请求(可以成功发起请求了):
至此python3安装成功
windows11安装Java8(jdk1.8)详细教程
python采集B站某个用户的发表图文数据列表以及详情页数据到数据库代码
python字符串requests获取数据怎么转换为字典
python采集微博某个用户的发表数据列表以及详情页数据到数据库
python获取当前时间三个小时之后的随机时间戳
linux安装好python3后使用python命令提示-bash: python: command not found
linux系统安装python 3.12.0教程
windows系统在cmd中执行 pip install numpy没反应解决办法
python删除网页中含有lazy.png字符串的img标签并返回删除后的字符串
ImportError: Can't connect to HTTPS URL because the SSL module is not available.