Linux离线安装Python时ssh和hashlib死活安装不上的解决方案

简介: 本文提供了Linux环境下离线安装Python时遇到的"ImportError: No module named _ssl"和"ERROR:root:code for hash md5|sha1|sha224|sha256|sha384|sha512 was not found"两个问题的解决方案,通过设置OpenSSL环境变量和编辑Python源码配置文件来解决。

背景:此次Linux服务器为虚拟机,没有连接网络,手动安装了openssl-1.0.2p,openssh-7.1p2,使得ssh -V的openssl版本和openssl version版本保持一致。想要如何安装升级openssl和openssh,请在我的Linux栏目里查看相关文章。然后源码安装python2.7.13,make编译的时候出现_ssh和_hashlib这两个模块死活装不上,即“ImportError: No module named _ssl”和“ERROR:root:code for hash md5|sha1|sha224|sha256|sha384|sha512 was not found”,共两个问题。最后看到某一大神的文章:http://blog.sina.com.cn/s/blog\_3c8ced580100zxq9.html,才得以解决。

问题1:“ImportError: No module named _ssl”的解决方案如下:

编辑配置文件

vi /etc/profile

新增OpenSSL环境变量

export LDFLAGS='-L/usr/local/openssl/lib'
export CPPFLAGS='-I/usr/local/openssl/include'
export PKG_CONFIG_PATH='/usr/local/openssl/lib/pkgconfig'

刷新配置文件

source /etc/profile

进入目录

cd Python-2.7.13

编辑配置文件

vi Modules/Setup

解除注释

218 SSL=/usr/local/openssl
219 _ssl _ssl.c \
220     -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
221     -L$(SSL)/lib -lssl -lcrypto

编辑配置文件

vi Modules/Setup.dist

解除注释

218 SSL=/usr/local/openssl
219 _ssl _ssl.c \
220     -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
221     -L$(SSL)/lib -lssl -lcrypto

然后问题1就解决了。

问题2:“ERROR:root:code for hash md5|sha1|sha224|sha256|sha384|sha512 was not found”的解决方案如下:

进入目录

cd Python-2.7.13

编辑配置文件

vi Modules/Setup

解除注释

255 _md5 md5module.c md5.c
256
257
258 # The _sha module implements the SHA checksum algorithms.
259 # (NIST's Secure Hash Algorithms.)
260 _sha shamodule.c
261 _sha256 sha256module.c
262 _sha512 sha512module.c

编辑配置文件

vi Modules/Setup.dist

解除注释

255 _md5 md5module.c md5.c
256
257
258 # The _sha module implements the SHA checksum algorithms.
259 # (NIST's Secure Hash Algorithms.)
260 _sha shamodule.c
261 _sha256 sha256module.c
262 _sha512 sha512module.c

然后问题2就解决了。

此时进入Python的解压目录,可以依次执行如下命令:

进入目录

cd Python-2.7.13

清空编译

make clean

选择安装目录

./configure --prefix=/usr/local/Python-2.7.13 --with-ssl

编译

make

安装

make install

Python安装完成后,在python环境下验证是否可以导入ssl模块,无报错即成功。

import ssl
import hashlib
目录
相关文章
|
7天前
|
安全 Linux 网络安全
Linux环境中安装和使用Paramiko
Linux环境中安装和使用Paramiko
41 12
|
5天前
|
Ubuntu Linux 网络安全
Linux服务器上安装软件
Linux服务器上安装软件
26 2
|
5天前
|
Web App开发 监控 Linux
在Linux上,有许多软件可以下载和安装
在Linux上,有许多软件可以下载和安装
91 67
|
2天前
|
Linux Shell 异构计算
在linux上部署yolov5和安装miniconda3
这篇文章介绍了在Linux系统上部署YOLOv5并安装Miniconda3的步骤,包括使用wget命令下载Miniconda安装脚本、安装Miniconda、初始化Conda环境、添加镜像源等。
16 3
在linux上部署yolov5和安装miniconda3
|
4天前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
47 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
1天前
|
IDE 开发工具 iOS开发
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
本篇将详细介绍如何在Mac系统上安装Python,并配置Python开发环境。内容涵盖Python的安装、pip包管理工具的配置与国内镜像源替换、安装与配置PyCharm开发工具,以及通过PyCharm编写并运行第一个Python程序。通过本篇的学习,用户将完成Python开发环境的搭建,为后续的Python编程工作打下基础。
27 2
|
2天前
|
iOS开发 MacOS Python
【10月更文挑战第1天】「Mac上学Python 1」入门篇1 - 安装Typora与Markdown编辑技巧
本篇将详细介绍如何在Mac系统上安装Typora这款简洁高效的Markdown编辑器,并学习Markdown常用语法。通过本篇,用户能够准备好记录学习笔记的工具,并掌握基本的文档编辑与排版技巧,为后续学习提供便利。
61 1
|
2天前
|
安全 Linux 开发者
|
2天前
|
Linux 虚拟化
Vmware 傻瓜式安装(不可不知道的Linux基础知识和技术 01)
本文介绍了VMware虚拟机的下载与安装步骤。首先,通过提供的网盘链接下载VMware安装包。接着,详细描述了安装流程,包括接受协议、选择安装路径(建议避免系统C盘)、取消更新选项等。最后,输入许可证密钥完成安装,并展示了打开虚拟机后的主界面。整个过程简单易懂,适合新手操作。
38 1
|
4天前
|
Python
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
24 3