对 python2 的 官方 支持 几个月 前 就 结束 了 , 但 我 需要 它 来 运行 我 的 一个 程序 , 而且 它 已经 从 ubuntu 20.04 存储库 中 删除 . 所以 我 想 自己 编译 和 安装 python2 . 但是 在 的 结束 阶段make all
(实际上在 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.py
和 requirements.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 上运行(也有自动化工具可以帮助您)。
关于linux - Python 构建完成,但未找到构建这些模块的必要位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60949404/