错误:缺少 OpenSSL 库?在尝试安装python时

Posted

技术标签:

【中文标题】错误:缺少 OpenSSL 库?在尝试安装python时【英文标题】:Error: Missing the OpenSSL lib? while trying to install python 【发布时间】:2016-08-01 14:18:01 【问题描述】:

我尝试在 pyenv env 中安装 python,但出现以下错误。我已将 openssl 添加到路径变量中,因为 openssl 已经可用,但它仍然抛出相同的错误。

另外,现在尝试使用单独的用户(不是 root)。同样的错误!并尝试跟进 wiki 页面,但对于 OpenSUSE,我在 google 上也找不到太多帮助。

有人可以指导我如何进一步进行吗?

 xxxxx@xxxxxxxxxxx:~/.pyenv> pyenv install 3.5.2
    Downloading Python-3.5.2.tar.xz...
    -> https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz
    Installing Python-3.5.2...
    WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
    WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
    ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

    Please consult to the Wiki page to fix the problem.
    https://github.com/yyuu/pyenv/wiki/Common-build-problems


    BUILD FAILED (SLES 12.1 using python-build 20160726)

    Inspect or clean up the working tree at /tmp/python-build.20160801100205.31144
    Results logged to /tmp/python-build.20160801100205.31144.log

    Last 10 log lines:
    (cd /home/xxxxx/.pyenv/versions/3.5.2/share/man/man1; ln -s python3.5.1 python3.1)
    if test "xupgrade" != "xno"  ; then \
            case upgrade in \
                    upgrade) ensurepip="--upgrade" ;; \
                    install|*) ensurepip="" ;; \
            esac; \
             ./python -E -m ensurepip \
                    $ensurepip --root=/ ; \
    fi
    Ignoring ensurepip failure: pip 8.1.1 requires SSL/TLS

【问题讨论】:

【参考方案1】:

这里有一个解决构建问题的官方指南https://github.com/pyenv/pyenv/wiki/common-build-problems

所以对于 openSuse,你必须首先安装依赖项:

zypper in zlib-devel bzip2 libbz2-devel libffi-devel libopenssl-devel \
readline-devel sqlite3 sqlite3-devel xz xz-devel

也适用于 Ubuntu/Debian:

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

【讨论】:

【参考方案2】:

Python 利用底层操作系统库来支持它的一些库,而您似乎没有安装这些库。在 Ubuntu 上,您应该能够安装它们

$ sudo apt-get install bzip2 libreadline6 libreadline6-dev openssl

对于 SUSE 12,正如您所指出的,所需的命令是

zypper -n install openssl libopenssl-devel

【讨论】:

这些已安装。为了再次重新安装,它显示“已安装最高可用版本”。对于所有的库。我有什么需要做的吗? 你有 *-dev 版本来确保编译找到支持库吗? 是的,我现在已经安装了。 zypper -n install openssl libopenssl-devel 这是否影响了结果,还是您还在寻找答案?【参考方案3】:

除了上述答案之外,我还必须:

sudo apt-get install python-openssl

【讨论】:

【参考方案4】:
sudo apt install libssl1.0-dev

帮了我

【讨论】:

【参考方案5】:

对我来说,上述内容在 Ubuntu 18.04 上没有任何效果。我有 openssl 和 openssl-dev 以及 python-openssl。但它适用于 openssl1.0-dev 所以:

$ sudo apt-get install openssl1.0-dev

【讨论】:

以上是关于错误:缺少 OpenSSL 库?在尝试安装python时的主要内容,如果未能解决你的问题,请参考以下文章

安装 Composer 失败并出现“缺少 openssl 扩展”错误

处理“缺少 openssl 扩展:在 XAMPP 中

Composer 警告:缺少 openssl 扩展。如何在 WAMP 中启用

作曲家下载错误。 extension=php_openssl.dll 在 php.ini 中找不到

编译安装PHP 时遇到问题解决方法.

如何解决错误“无法加载PEM客户端证书,OpenSSL错误:02001003:系统库:fopen:没有这样的过程”?