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
目录
相关文章
|
11月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
1638 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
954 2
|
Linux 计算机视觉 C++
【解决方案】Building wheel for opencv-python:安装卡顿的原因与解决方案
当你安装OpenCV时,命令行停在Building wheel for opencv-python (PEP 517) ... -似乎卡住了。这并非程序假死,而是其编译耗时巨大。本文将揭示原因,并提供优化安装体验的实用方法。
1467 88
|
存储 缓存 文件存储
uv安装python及其依赖的加速方法
国内在使用uv的时候,可能会涉及到装python的速度太慢的问题,为了解决这个问题,可以使用`UV_PYTHON_INSTALL_MIRROR`这个环境变量。除此以外,对于多人协作场景,`UV_CACHE_DIR`也是一个有用的环境变量。本文会介绍这两个变量。
8896 10
|
IDE 开发工具 开发者
手把手教你安装PyCharm 2025:开发者的Python IDE配置全流程+避坑指南
本教程详细介绍了PyCharm 2025版本在Windows系统下的安装流程及配置方法,涵盖AI代码补全与智能调试工具链等新功能。内容包括系统要求、安装步骤、首次运行配置(如主题选择与插件安装)、创建首个Python项目,以及常见问题解决方法。此外,还提供了切换中文界面和延伸学习资源的指导,帮助用户快速上手并高效使用PyCharm进行开发。
6547 61
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
648 10
|
JSON Shell 数据格式
使用 pipx 安装并执行 Python 应用程序 (1)
使用 pipx 安装并执行 Python 应用程序 (1)
1609 17
|
IDE 测试技术 项目管理
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
PyCharm是由JetBrains开发的Python集成开发环境(IDE),专为Python开发者设计,支持Web开发、调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制等功能。它有专业版、教育版和社区版三个版本,其中社区版免费且适合个人和小型团队使用,包含基本的Python开发功能。安装PyCharm前需先安装Python解释器,并配置环境变量。通过简单的步骤即可在PyCharm中创建并运行Python项目,如输出“Hello World”。
5513 13
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
|
人工智能 Java Python
python安装、vscode安装、conda安装:一文搞定Python的开发环境(史上最全)
尼恩架构团队推出了一系列《LLM大模型学习圣经》PDF,旨在帮助读者深入理解并掌握大型语言模型(LLM)及其相关技术。该系列包括Python基础、Transformer架构、LangChain框架、RAG架构及LLM智能体等内容,覆盖从理论到实践的各个方面。此外,尼恩还提供了配套视频教程,计划于2025年5月前发布,助力更多人成为大模型应用架构师,冲击年薪百万目标。
|
Shell Linux iOS开发
使用 pipx 安装并执行 Python 应用程序 (1)
使用 pipx 安装并执行 Python 应用程序 (1)
1099 0
使用 pipx 安装并执行 Python 应用程序 (1)