如何使用 SSL 在 RHEL 上编译 python3?无法导入 SSL

2023-12-30

我正在尝试在 RHEL 上编译 python,因为我当前的 python 使用的是旧的 1.0.2k ssl 版本。

(test_env) [brad@reason tlscheck]$ python3 --version
Python 3.9.3
(test_env) [brad@reason tlscheck]$ python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 1.0.2k-fips  26 Jan 2017
(test_env) [brad@reason tlscheck]$ openssl version
OpenSSL 1.1.1l  24 Aug 2021

我认为问题是当我编译 3.9.3 时,我没有更新我的 OpenSSL 版本。我已经更新了我的 OpenSSL 并需要将它与 python 一起使用。所以我下载了最新的python 3.10,但在make阶段我收到一个错误,它不会用ssl生成。我的消息如下:

Following modules built successfully but were removed because they could not be imported:
_hashlib              _ssl                                     


Could not build the ssl module!
Python requires a OpenSSL 1.1.1 or newer

这是尝试编译的完整日志:https://pastebin.com/36EntpFz https://pastebin.com/36EntpFz

当我使用 @tony-yip 提到的配置选项时,我在配置中得到以下内容。

checking for openssl/ssl.h in /etc/ssl... no
checking whether compiling and linking against OpenSSL works... no

我正在确定我的 openssl 位置:

[brad@reason Python-3.10.0]$ openssl version -d
OPENSSLDIR: "/etc/ssl"

要配置,我正在使用:

./configure --with-openssl="/etc/ssl"

当我寻找 ssl.h 时,我发现它在/usr/include/openssl。所以我将此目录链接到 lib 中/etc/ssl,但这没有帮助。

[brad@reason Python-3.10.0]$ ls -l /etc/ssl
total 40
lrwxrwxrwx 1 root root    16 Jul 16  2020 certs -> ../pki/tls/certs
-rw-r--r-- 1 root root   412 Oct 12 02:53 ct_log_list.cnf
-rw-r--r-- 1 root root   412 Oct 12 02:53 ct_log_list.cnf.dist
lrwxrwxrwx 1 root root    20 Oct 18 10:22 lib -> /usr/include/openssl
drwxr-xr-x 2 root root  4096 Oct 12 02:53 misc
-rw-r--r-- 1 root root 10909 Oct 12 02:53 openssl.cnf
-rw-r--r-- 1 root root 10909 Oct 12 02:53 openssl.cnf.dist
drwxr-xr-x 2 root root  4096 Oct 12 02:53 private
[brad@reason Python-3.10.0]$ sudo find / -name ssl.h | grep include
find: ‘/tmp/.mount_jetbraAJFEnl’: Permission denied
/home/brad/Downloads/freerdp-2.0.0-rc4/winpr/include/winpr/ssl.h
/home/brad/Downloads/FreeRDP/winpr/include/winpr/ssl.h
/home/brad/Development/tlscheck/openssl-1.1.1l/include/openssl/ssl.h
/usr/include/openssl/ssl.h
/var/lib/docker/overlay2/23e6f3c164ec8939352891c99393669df4ed6e66da1e04ce84616073f08c6051/diff/usr/include/openssl/ssl.h
/var/lib/flatpak/runtime/org.freedesktop.Sdk/x86_64/18.08/c8075e929daaffcbe5c78c9e87c0f0463d75e90d2b59c92355fa486e79c7d0e3/files/include/nss/ssl.h
/var/lib/flatpak/runtime/org.freedesktop.Sdk/x86_64/18.08/c8075e929daaffcbe5c78c9e87c0f0463d75e90d2b59c92355fa486e79c7d0e3/files/include/openssl/ssl.h
find: ‘/run/user/1000/gvfs’: Permission denied

这可能是无关的信息,但我的 libssl.so 在这里:

[brad@reason Python-3.10.0]$ ls /usr/lib64 | grep ssl
libevent_openssl-2.0.so.5
libevent_openssl-2.0.so.5.1.9
libssl3.so
libssl.so
libssl.so.10
libssl.so.1.0.2k
openssl

关于为什么 make 无法包含 ssl 的任何想法,请告诉我。谢谢。


有一个非常相似的问题,openssl 无法工作,并且在 centos 7 上使用 python 3.10 给出相同的错误。 下载 openssl 解压然后进入该目录

./config --prefix=/usr/local/custom-openssl --openssldir=/etc/ssl
make -j1 depend
make -j8
make install_sw

然后去python源码解压并在目录下运行

./configure -C --with-openssl=/usr/local/custom-openssl --with-openssl-rpath=auto --prefix=/usr/local/python-3.version
make -j8
make altinstall

另请参阅自定义 OpenSSLhttps://docs.python.org/3/using/unix.html https://docs.python.org/3/using/unix.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 SSL 在 RHEL 上编译 python3?无法导入 SSL 的相关文章

随机推荐

  • 如何修复构建 IPA 时的 Xcode 6.1 错误

    今天刚刚升级到 Xcode 6 1 猜猜看 现在我在使用 TestFlight 桌面应用程序提交构建时遇到了问题 这是应用程序开始构建 IPA 时遇到的错误 错误 usr bin codedesign force preserve meta
  • 在 Rails 上创建新应用程序 ruby

    我对在 Rails 上使用 ruby 的 简单 工作感到有点困惑 因为我已经花了三天时间尝试创建一个应用程序 我从事 site5 托管工作 并尝试创建新的应用程序 一步步 rails new app d mysql gem install
  • UserControl 中的 wpf 绑定集合属性

    我有一个自定义用户控件 其中包含自定义对象的集合 public class Question FrameworkElement public readonly static DependencyProperty FullNameProper
  • Asp.Net MVC3:在 ValidationContext 中设置自定义 IServiceProvider,以便验证器可以解析服务

    2012 年 12 月 18 日更新 在 MVC 5 2 上 您可以利用窃取 安德拉斯的回答 https stackoverflow com a 5222249 11635和 MVC 源以及 1 推导DataAnnotationsModel
  • Mandelbrot 程序未输出正确的数据

    我的班级接到一个作业 要编写一个绘制曼德尔布罗图的程序 我们基本上必须让程序绘制结果的位图 事情是 我的CalcMBF函数仅输出2作为曼德尔布罗数 我完全不知道为什么会这样 谁能帮我吗 这是我的代码 using System using S
  • 带有粘性标题和水平、垂直滚动条的垫表

    我有一个垫子表 带有粘性标题和页面的垂直滚动 它工作正常 直到我动态添加更多列并出现水平滚动条 粘性标题停止工作 有什么办法让它发挥作用吗 请看例子 https stackblitz com edit angular hdg9xh http
  • NSDate格式问题

    这是来自 nsdate 格式化程序的代码 由于某种原因 值 dateSelected 不正确 而不是 2011 年 4 月 30 日 7 55PM 它返回 2011 05 01 02 55 知道我是什么吗做错了吗 NSDateFormatt
  • go mod供应商返回“所有匹配的没有包”

    我正在尝试设置一个新的存储库 其中将包含一些后端服务 名为backend 我创建了存储库 将其克隆到 home me go src github com myrepo backend 然后我做了以下事情 go mod init backen
  • 如何在 VS 代码中语法高亮 JavaScript 字符串中的 HTML? [复制]

    这个问题在这里已经有答案了 是否有任何 Vs Code 扩展可以在 JavaScript 字符串中语法突出显示 HTML 具体来说 我正在编写网络组件 const html content gt div table content tabl
  • codeigniter 分页类中使用_page_numbers?

    我在分页类中使用 use page numbers 配置设置为 true 时遇到问题 当我单击第 2 页的链接时 它从数据库检索的行数是正确的 但问题是 第二页的第一行是第一页的第三行 这意味着第 2 页从数据库中的同一行开始 该行已在第一
  • 为什么当工作交错时 TCP 写入延迟会更严重?

    我一直在分析 TCP 延迟 特别是write从用户空间到内核空间的小消息 以便获得对某个消息的延迟的一些直觉write 承认这可能是特定于上下文的 我注意到在我看来相似的测试之间存在很大的不一致 并且我非常想弄清楚差异从何而来 我知道微基准
  • 获取django应用程序的绝对路径

    我正在编写一个单元测试 需要访问我放在 django 应用程序目录下的 fixtures 目录中的图像文件 我想在测试中使用相对路径打开这个图像文件 这需要我获取 django 应用程序的绝对路径 有没有办法获取 django 应用程序的绝
  • 如何解析并输出具有动态值的JSON对象?

    我需要输出 JSON 对象 如下所示 dynamicvaluenumberone 3 dynamicvaluenumbertwo 7 在某些方面 看起来像 dynamicvaluenumberone 3 dynamicvaluenumber
  • 使用 Qt Creator 时的 CMake 配置问题

    我正在尝试使用 cmake 在 qt Creator 中设置构建环境 但无论我尝试什么 我都无法让它取得进展 它因问题而失败 配置问题 当展开一般消息部分中的详细信息时 它看起来像是无法编译测试 C 程序 我看不出我的 qt 创建者配置有什
  • Java:如何获取OS X Lion中的滚动方法?

    由于 OS X 支持 自然滚动 因此我的应用程序无法正常工作 自然滚动是为滚动窗格设计的 我真的很喜欢 但是 当我想放大 缩小时 它会出错 所以 我想做的是检查 OS X 的滚动方法 如果它是 自然的 我将采用与滚动值相反的值MouseWh
  • 如何在Numpy中实现ReLU函数

    我想制作一个使用 ReLU 函数的简单神经网络 有人可以告诉我如何使用 numpy 实现该函数吗 有几种方法 gt gt gt x np random random 3 2 0 5 gt gt gt x array 0 00590765 0
  • 如何在 EditText 中嵌入视图(带有按钮等)?

    我正在尝试找出如何嵌入东西 other与 Drawables 相比 在 EditText 小部件内 具体来说 我想到的例子来自 Google Buzz 小部件 截屏 http greydream org pics buzz png 没有内嵌
  • Google Apps 域上的 Google App Engine

    我无法将我的域名指向由 Google 应用引擎托管的网站 这是背景 注意区分 谷歌应用程序 域名托管 电子邮件等 和 谷歌应用程序引擎 网站框架 的概念 我有一个正在使用 Google Apps for Your Domain 的域 我们将
  • 在 XQuery 中搜索两个图节点之间的路径

    我正在尝试创建一种算法 用于搜索并返回 xQuery 中图形中两个节点之间的路径 但到目前为止我没有运气 因为它只返回一个节点及其相邻节点 首先 我应该明确该图是一个有向图 每个节点可以有零个 一个或多个原点 在 XML 中 节点仅具有到其
  • 如何使用 SSL 在 RHEL 上编译 python3?无法导入 SSL

    我正在尝试在 RHEL 上编译 python 因为我当前的 python 使用的是旧的 1 0 2k ssl 版本 test env brad reason tlscheck python3 version Python 3 9 3 tes