Python 构建完成,但未找到构建这些模块所需的位

Python build finished, but the necessary bits to build these modules were not found

几个月前 python2 的官方支持结束了,但我 运行 我的一个程序需要它,而且它已从 ubuntu 20.04 repository.So 我想在 make all 的最后阶段编译和安装 python2 myself.But(实际上是在 setup.py build),它会打印以下错误:

Python build finished, but the necessary bits to build these modules were not found:
_bsddb             _sqlite3           _ssl            
_tkinter           bsddb185           bz2             
dbm                dl                 gdbm            
imageop            readline           sunaudiodev     
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

我不关心 readline_tkinter 等模块,但我需要 _ssl。无法通过 pip 安装它。
我从存储库安装了 libssl-dev,但在重新构建后出现以下错误:

Failed to build these modules:
_hashlib           _ssl

感谢任何帮助。
谢谢。

老实说,我宁愿为 Python2 使用 docker 图像,也不愿尝试编译它;对某些人来说可能有点矫枉过正,但对我来说这是更简单、更简洁的方法。

例如,如果您有一个 project 文件夹,其中至少包含 project.pyrequirements.txt,您可以使用以下 Dockerfile(与 project):

FROM python:2.7-slim-buster

COPY /project /app
RUN pip install --no-cache-dir -r /app/requirements.txt

WORKDIR /app

CMD [ "python", "project.py" ]

使用 docker build -t project .

构建

运行 它与 docker run -it --rm --name project_run project

根据您的应用程序的复杂程度,您还可以尝试将其更新到 运行 Python 3(也有自动化工具可以帮助您完成此操作)。