2

我有一些在 Python 2.7.12 上运行的旧网站,并且刚刚将我的开发机器更新到 Ubuntu 20.04。

我正在尝试让 PyEnv 安装 Python 2.7.12,但这似乎取决于 Ubuntu 20.04 中已删除的 libssl1.0-dev。

我得到错误:

Installing Python-2.7.12...
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/pyenv/pyenv/wiki/Common-build-problems


BUILD FAILED (Ubuntu 20.04 using python-build 20180424)

按照这里的建议,我运行:

sudo apt-get remove libssl-dev
sudo apt-get update
sudo apt-get install libssl1.0-dev

我得到错误:

E: Package 'libssl1.0-dev' has no installation candidate

有没有办法做到这一点?如果是这样,那请问如何?

谢谢你。

4

3 回答 3

1

正如 Klaus 提到的,您可以将 docker 映像用于 p ython 2.7,但是 ssl 库非常重要,所以它没有安装候选者很奇怪。焦点包在此处libssl-dev列出

于 2020-05-05T14:40:08.100 回答
1

您可以从以前的Ubuntu 18.04版本安装 libssl1.0-dev :

wget -P /tmp/ http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0-dev_1.0.2n-1ubuntu5.5_amd64.deb
wget -P /tmp/ http://ftp.osuosl.org/pub/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.5_amd64.deb
apt install /tmp/libssl1.0.0_1.0.2n-1ubuntu5.5_amd64.deb
apt install /tmp/libssl1.0-dev_1.0.2n-1ubuntu5.5_amd64.deb

它有效,但这不是推荐的方式。因为 libssl1.0 包以后不会收到安全更新了!也许 python 2.7.17 适合你?您可以通过 apt 安装它:

apt install python2
于 2021-02-06T20:00:47.157 回答
0

我看不到让 PyEnv 与如此旧版本的 Python 一起工作的方法,所以按照 Klaus 和 Rafal 的建议选择使用 Docker。谢谢你。

对于其他为此苦苦挣扎的人,这里是该过程的方便概述

于 2020-05-05T16:16:36.157 回答