从源代码构建Python3.7会遇到以下错误:
Failed to build these modules:
_hashlib _ssl
Could not build the ssl module!
Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().
LibreSSL 2.6.4 and earlier do not provide the necessary APIs, https://github.com/libressl-portable/portable/issues/381
我试过很多其他堆积如山的问题,但都没用。我从源代码构建最新的OpenSSL和LibreSSL。OpenSSL路径为:“/usr/local/ssl”,版本为OpenSSL 1.0.2p
./configure --with-openssl=/usr/local/ssl/
(./configure CPPFLAGS="-I/usr/local/ssl/include" LDFLAGS="-L/usr/local/ssl/lib")
make
make altinstall
我的系统: Ubuntu 12.04.5 LTS公司
有什么想法吗?
我在3天后解决了这个问题,只是因为this blog.使用了python 3.7.4openssl 1.1.0centos 6。
总结如下:
首先,一些先决条件:
如果使用centos linux,请使用yum而不是apt-get。
安装ssl 1.0.2或更高版本。
我们需要将/usr/src/openssl-1.0.2o传递到Python配置脚本中。
现在继续安装Python:
要测试它,请运行python3.7并输入:
希望有帮助!
虽然这可能不是最好的答案,但我将分享我是如何解决这个问题的。
首先,在我的例子中,OpenSSL没有正确构建,因为
make test
返回了错误(因此Python给出了这个错误)。这是通过安装一个更新版本的Perl,然后再次安装OpenSSL(configure、make等)来解决的。使用前使用此命令./configure
在configure命令中,包括库:
显然,configure选项不会将消息传递给需要它的C编译器。
不确定是否同时需要选项2和选项3,但我做到了,而且成功了。
我就是这么做的
然后下载python tarball并执行以下操作
相关问题 更多 >
编程相关推荐