【Linux】使用pip3安装pexpect,解决报错:the ssl module in Python is not available

pip3是python3的包管理工具,安装、卸载、更新等管理python包。

pexpect是其中一个python库,用于自动化与终端交互。

centos7使用pip3安装pexpect,报错:

bash 复制代码
pip3 install pexpect

原因:使用python3解释器导入ssl库检查ssl是否配置好,结果报错没有此模块,则openssl-1.1.1没有配置好。

解决:需确保openssl-1.1.1安装成功,安装目录和可执行文件均在指定位置,再重新安装python3。

重新安装python3(版本3.10):

1、先确认openssl-1.1.1成功安装,且相关文件在指定位置:

bash 复制代码
openssl version
ll /usr/bin | grep openssl
ll /usr/local | grep openssl

2、删除pytho3原来的安装目录和相关文件:

指定位置:/usr/bin是存放各软件的可执行文件。/usr/local是存放各软件的安装目录。

我一般下载的压缩包放在/opt/src目录下,安装目录放在/opt目录下。再将安装目录和可执行文件软链接到指定位置。

bash 复制代码
# 查看与python3相关的文件和目录
ll /usr/bin | grep python
ll /usr/local | grep python
ll /opt | grep python

# 删除与python3相关的文件和目录
rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3
rm -rf /usr/local/python-3.10.14
rm -rf /opt/python-3.10.14

3、重新安装python3.10.14:

bash 复制代码
# 切换到下载目录下(我一般下载在/opt/src目录下)
cd /opt/src
 
# 网页下载python3.10
wget https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tgz
 
# 解压缩
tar -zxvf Python-3.10.14.tgz
 
# 切换到Python目录下,并查看该目录下所有文件(有configure,需编译安装)
cd Python-3.10.14 && ls

# 配置编译参数
./configure --prefix=/opt/python-3.10.14 --enable-optimizations --with-openssl=/usr/local/openssl-1.1.1w --with-openssl-rpath=auto
 
# 重新编译安装
make -j && make altinstall
 
# 切换到python安装目录下,并查看该目录及bin目录下所有文件(bin目录下有python3.10可执行文件)
cd /opt/python-3.10.14 && ls && ls bin

# 查看指定位置下是否已有相关文件和目录
ll /usr/bin | grep python
ll /usr/local | grep python
 
# 将python3的目录和可执行文件软链接到指定位置
ln -s /opt/python-3.10.14 /usr/local/python3
ln -s /opt/python-3.10.14/bin/python3.10 /usr/bin/python3
ln -s /opt/python-3.10.14/bin/pip3.10 /usr/bin/pip3
 
# 查看python3和pip3版本
python3 --version
pip3 --version

重新使用pip3安装pexpect:

bash 复制代码
# 使用pip3重新安装pexpect
pip3 install pexpect

# 检查pexpect是否安装成功
pip3 list | grep pexpect
# 进入python解释器检查pexpect是否可以导入成功
python3
(进入python解释器,导入pexpect库)import pexpect
相关推荐
分支预测失败20 分钟前
RISC-V 核间中断 IPI 实战:从 MSIP 寄存器到 IMSIC 消息投递
linux·后端
小刘在重生~1 小时前
Java常用类|String类详解 + BigDecimal精准计算(含面试题)
java·开发语言·python
YYYing.1 小时前
【C++进阶系列 (二)】关于线程堆栈的那些事——函数调用过程
开发语言·c++·函数·线程堆栈
GeW1 小时前
RHCE考试避坑指南"90%考生容易忽略的细节
linux
邪修king1 小时前
Re:Linux系统篇(十九):进程篇(八): 进程等待详解:wait/waitpid,僵尸进程到底该如何回收
java·开发语言
大汉堡玩测试2 小时前
langfuse测试实战(一): 配置一个简单的项目快速落地
python·测试工具
我爱写代码i2 小时前
SKAPP SK影视反编译详细教程+源码 含苹果端ipa
开发语言·javascript·ecmascript
一位正在转型AI全栈的前端工程师2 小时前
AI 全栈学习之旅 -Week 8:从单 Agent 到多 Agent 协作:LangGraph 实战与记忆持久化
前端·python
长江后浪博客2 小时前
Python + YOLOv8 疲劳驾驶 AI 视觉检测入门:从模型训练到 ONNX 实时摄像头检测完整实战
人工智能·python·yolo·疲劳驾驶检测·onnx·yolov8
键盘会跳舞2 小时前
【C++多线程】死锁诊断工具实战:从 Windows 到 Linux 的全链路排查
linux·c++·windows·死锁