Ubuntu16.04编译Python3.7关联OpenSSL1.1.1遇共享库错误求助
解决Ubuntu 16.04编译Python 3.7时找不到libssl.so.1.1的问题
我来帮你搞定这个问题!这个错误的核心原因是:你刚手动安装的OpenSSL 1.1.1库位于/usr/local/ssl/lib,但系统默认的动态链接器搜索路径里并没有包含这个目录,导致Python编译过程中运行测试程序时找不到依赖的libssl.so.1.1。下面是具体的解决步骤:
步骤1:临时配置动态链接库路径(当前会话生效)
先在终端里执行这条命令,让当前终端会话能优先找到新安装的OpenSSL库:
export LD_LIBRARY_PATH=/usr/local/ssl/lib:$LD_LIBRARY_PATH
步骤2:重新编译并安装Python 3.7
先清理之前编译产生的残留文件,避免干扰:
make clean
然后重新执行编译安装流程:
./configure make make install
这时候编译过程应该就能顺利完成了,因为当前会话已经能找到libssl.so.1.1了。
步骤3:永久配置动态链接库路径(系统全局生效)
为了避免以后其他程序也遇到类似的库找不到问题,我们把新的OpenSSL库路径加到系统的动态链接配置里:
- 创建一个专门的配置文件:
sudo nano /etc/ld.so.conf.d/openssl-1.1.1.conf
- 在文件中添加一行内容:
/usr/local/ssl/lib
- 保存并退出编辑器(按
Ctrl+O,回车确认,再按Ctrl+X),然后更新动态链接缓存:
sudo ldconfig
验证安装结果
安装完成后,你可以运行这条命令确认Python是否成功关联了OpenSSL 1.1.1:
python3.7 -c "import ssl; print(ssl.OPENSSL_VERSION)"
如果输出类似OpenSSL 1.1.1 [日期]的内容,就说明配置成功了。
内容的提问来源于stack exchange,提问作者user9371654
相关产品推荐
相关产品推荐

