编译安装 Python 时发生“Missing the OpenSSL lib”错误

使用pyenv在ubuntu18上安装多个python版本。按照文档,先安装编译依赖库:

shellsudo 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

使用 pyenv install -v x.x.x 命令来安装指定版本的python。在安装3.4及以下版本时会报错:

ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

原因是ubuntu默认安装的libssl-dev版本是1.1,旧版本的python只支持1.0版本。

解决方案:安装libssl1.0-dev

shellsudo apt install libssl1.0-dev

注意:安装libssl1.0-dev后会自动移除libssl-dev(1.1),可以在编译完成后重新安装。

shellsudo apt install libssl-dev